SSHを介してリモートで複数のコマンドを実行するスクリプトがあります。実行間で異なるタスクを実行したいので、各コマンドを個別に実行します。
ただし、新しいコマンドを実行するたびにSSHセッションを再生成したくありません。読みました-oControlMaster
が、うまく動作しないようです。
私が実行したとき:
ssh -oControlMaster=yes -oControlPath=/tmp/test.sock root@host
パスワードを入力すると、SSHセッションが開始されます。終了すると、/tmp/test.sock
ファイルが見つかりません。
私は何を見逃していますか?
ベストアンサー1
このControlPersist
オプションを使用すると、サーバーとの接続を切断した後にソケットを離れることができます。
たとえば、私のSSH設定ファイルには、3秒間接続を開いたままにするこのフラグメントがあります。
オーナー* コントロールマスター自動 ControlPath ~/.ssh/master-socket/%r@%h:%p #ControlPath /run/user/%i/sshmasterconn-%C #ControlPath ~/.ssh/%r@%h:%p 制御は3秒間続きます。