SSHを介してリモートコンピュータで複数のコマンドを実行するためのBashスクリプトを作成しています。
問題は、コンピュータの1つに接続できなくなり、スクリプトをスキップして続行しようとしたときに接続がタイムアウトするまでに長い時間がかかるまで停止していることです。
ssh
コマンドでより短いタイムアウトを設定する方法はありますか?
答え1
タイムアウトを秒単位で指定するには、次のConnectTimeout
オプションを使用します。ssh_config
マニュアルページ:
ssh -o ConnectTimeout=10 user@remotehost
~/.ssh/config
すべてのホストのタイムアウトを指定するには、通常は個人設定用にSSH設定ファイルのワイルドカードスタンザにこの設定を追加するか、/etc/ssh/ssh_config
システム全体に適用します。
Host *
ConnectTimeout 10