sshの接続確立が遅い場合の対処方法
140文字で収まらなかったので.
ssh でログインはできる(認証は成功している)し操作も普通に行える(RTTが正常な範囲)けど,ログインできるまでに(パスワード認証の場合はユーザ名やパスワードを聞かれるまでに)非常に時間がかかるような場合の原因と対処方法を記しておく.こうした現象は主に何らかの方法に挑戦して失敗・タイムアウトしていることが原因である.
クライアントの名前解決が原因
クライアントの名前解決ができなくて時間がかかっている.サーバ側での設定変更が主.
ssh サーバの /etc/hosts にクライアントの設定を書く
名前解決ができないので ssh クライアントの直接名前を設定してあげる.個別対応なのであまり良い解決策ではないが,やむを得ない場合はこの方法.
192.168.0.2 ssh-client.example.com
192.168.0.2 がクライアントの IP アドレス.適当に名前を設定する.
/etc/resolv.conf から死んでいるネームサーバを外す.
そもそも使っているネームサーバが死んでいる場合.ssh以外の問題でもあるので別途解決すべきものではある.
GSSAPI 認証が原因
GSSAPI 認証を試みているので時間がかかる? /etc/ssh/ssh_config に以下の設定を入れる.普通は no に設定されている.
GSSAPIAuthentication no
IPv6 が原因
IPv6 で接続しようとしているか,IPv6 で名前解決しようとしているかで,できなくて時間がかかっている.IPv4(inet) のみを使用する./etc/ssh/ssh_config に以下の設定を入れる.
AddressFamily inet
調べた限りこの解決策は web で見つからなかったが,これが今回の解決策であった.
今回の解決手順
参考
ssh のログインが遅い (openldap + pam) - Linux Square
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20437&forum=10&2
SSHのログインが遅い - 学生プログラマ、只今修行中!
http://shion.tsukuba.ch/e710.html
ssh 接続がとても遅い - TKRD.ORG - 楽天ブログ(Blog)
http://plaza.rakuten.co.jp/tkrdorg/diary/?PageId=1