それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

SSHコマンドでKeepAliveするにはどうすればいいのでしょうか

SSH がブツブツ切断されて困ります.一定時間使ってないとNAT的に、落ちますiptables の設定問題とも絡んでると思うけど,切断されると不便です

SSHが切れない様にする

方法はいくつかあるが、どれもTCPパケットを見るモノ。なのでトンネルとか地下鉄では、次の設定はどれも,むしろ切断を助長するよね.

・サーバー側
・クライアント側
・ソフトウェア側


SSHサーバー設定が触れるときはサーバー設定を変える.
サーバー設定を触れないときや共通設定にしたいときは、クライアント設定
SSHで設定がよく分からない人は端末接続ソフトたとえばPUTTYとかで設定

サーバー側

SSHサーバー側でクライアントの生存確認を出すには

/etc/ssh/sshd_config

ClientAliveInterval 10
ClientAliveCountMax 12

クライアント側

サーバー設定の代わりにSSHクライアント側で制御するには
.ssh/config

ServerAliveInterval 10
ServerAliveCountMax 12

puttyなど

keep alive 設定項目がある



参考

SSHサーバの設定で切れているかどうか確認するパケットを送る

サーバ側の設定で、 切断しているかどうかを確認する目的で定期的にパケットを送ることができます。 比較的問題の少ない方法だと思います。

これがないとTCP的に切れるまで切れませんが、 これをやると本当は切れていないのに切れたと判定されるかもしれません。
ClientAliveInterval 15
ClientAliveCountMax 3

サーバ・クライアントともOpenSSH同士でないと利用できず、 しかもプロトコルがSSH2でないと利用できないのが難点です。 また、おそらく端末がないと使えないため、 ポートフォワーディング用途には使えません。

また、メンテナンスするマシンが増えるたびにこの設定をするのも面倒です。

http://www.geocities.co.jp/AnimeComic/1098/documents/unixmemo/ssh-keepalive.html

http://www.ecoop.net/memo/2005-12-26-1.html