SSH ControlMaster接続でSSHfsを使用する

SSH ControlMaster接続でSSHfsを使用する

SSH接続が最初に確立されたときにsshfsを使用してリモートシステムにディレクトリを自動的にマウントし、接続が終了したらディレクトリをアンマウントしたいと思います。

現在SSH用のControlMasterツールを使用しているので、初めてリモコンに接続するときにパスワードを入力するだけです。同時に複数のSSH接続が実行されることがよくあります。

接続すると、sshでスクリプトを実行でき(これを行う方法があったと思います)、スクリプトはインストールを試みる前にインストールが存在することを確認できると思います。

しかし、最後のSSH(デフォルトSSH)が終了したときにインストールを消去する方法はわかりません。

ベストアンサー1

接続中にコマンドを実行するオプションは、に設定して有効にする必要がありLocalCommandます。PermitLocalCommandyes

ssh -oPermitLocalCommand=yes -oLocalCommand="sshfs server:dir /mnt &" myhost

これ&がなければ、sshfsが終了するまで実際の接続は開かれません。これはマスターサーバーでのみ実行されます(したがって追加するのは安全です~/.ssh/config)。

シャットダウン時にコマンドを実行するのと同じものはありませんが、プライマリ接続と同じホストでsshfsを使用する限り、その接続を使用します。基本セッションのシェルが終了すると、他の接続が閉じられるまでセッションは閉じられません。またはマスターが終了します。。したがって、Ctrl-Cシェルを終了して入力すると、プロセスも終了し、sshfsファイルシステムがマウント解除されます。

おすすめ記事