ジャンプホストの背後にあるサーバーに対してsshコマンドを使用してスクリプトを実行しています。セキュアネットワーク上のサーバーでコマンドを実行したい場合は、常にsshでジャンプホスト(バスチョン)サーバーに接続して実行し、nc
netcatチャネルを介して実行したい実際のコマンドでsshを実行する必要があります。その後、原稿を停止する必要がありますnc
。
私は同時に2つのプロセスを実行し、nc
ピギーバックプロセスが完了したらSSHプロセスを閉じることができる「スマートアンパサンド」が欲しいです。
これが私が現在やっていることです。
ssh -g -L 23:localhost:22 -f -N user@jumphost &
ssh user2@localhost -P 23 "ssh user@destination server \"ls -al\""
kill -0 $!
問題は、それが原子的ではないということです。スクリプトにエラーがある場合は完了せず、nc
元のプロセスは終了しません。
私の質問は次のとおりです両方のプロセスを開始するには?それでは、1回目が完了すると2回目も完了しますか?
ベストアンサー1
あなたの質問に対する答えではありませんが、この答えは数あなたの問題を解決するために、次のことをしたいと思います。
ProxyCommand
アプリで使用すると、~/.ssh/config
次のすべてのことが行われます。
Host server
HostName server.tld
User {server user}
Host proxy
ProxyCommand ssh server -W %h:%p
User {proxy user}
その後、次のコマンドを使用してサーバーに簡単にアクセスできます。ssh server