2014-09-12

ssh がサーバと接続できなくなったときに素早く諦めさせる

$ tail -n4 ~/.ssh/config
Host example.com
  HostName example.com
  ServerAliveInterval 1
  ServerAliveCountMax 1

これで物理LANケーブルを抜いて Wifi 接続に切り替わったときなどに "Timeout, server example.com not responding." というメッセージと共に接続を切ってくれる。

デフォルトだとTCPセッションが生きている限り接続を切れないので職場のように安定しているネットワーク環境でPCと共に離席することが多めだと便利。

もし場面によって使い分けたければ ssh の -o オプションを利用するとよさそう。

$ ssh -o 'ServerAliveInterval 1' -o 'ServerAliveCountMax 1' user@example.com

ちなみに ServerAliveInterval はデフォルト無効で ServerAliveCountMax のデフォルト値は3です。

この記事へのご意見・ご質問は @ymkjp へどうぞ!