備忘録:SSH接続が遅いとき | きまぐれ倉庫番報告『しん♪』の小言 in BC DN PSO2

きまぐれ倉庫番報告『しん♪』の小言 in BC DN PSO2

オンラインゲーム「ブレイドクロニクル」「ドラゴンネスト」「PSO2」をプレイしている「しん♪」です~^^
本ブログのSS(記事中の画像)の著作権は
ブレイドクロニクルは『(C)Aiming』ですよ~♪
ドラゴンネストは『(C)NHN』ですん~♪
PSO2は『(C)SEGA』ぢゃ♪

ひさびさに技術系の記事をば。備忘録ですが。

過去、SSHサーバ接続で遅い時、という状況に何度も遭遇しているにも関わらず、色々忘れるのでメモ。
※SCPなど、内部でSSH通信を利用しているツールも遅くなります。


SSH接続が遅い、
という状況にはいくつかパターンがあります。

SSH接続は以下の手順で接続するとして、

1.コマンドを入力 「ssh -p ポート ユーザ@ホスト」など
↓・・・ケースA
2.パスワードを入力
↓・・・ケースB
3.接続完了。→SSHを利用した遠隔操作・・・ケースC

上記手順中のケースA~ケースCのどこが遅いかで原因が異なります。


まずケースA、
接続コマンド実行後、パスワードを求められるまでに時間がかかる、場合。
サーバ側のSSH設定を調整すると改善する場合があります。
(クライアント側が原因のときもありますが、考え方は同じで大丈夫だと思います)

詳細は ssh -v などのデバッグトレースモードにて途中経過を画面出力しつつ、
原因を探って下さい。

その中でよくある2点について、記録しておきます。
・DNSを利用したサーバ認証をしているが、タイムアウト
 ローカルネットワークにて、ipアドレスで直接通信している場合などに多いと思います
 → ・sshd設定(例:/etc/ssh/sshd_conf)に、「UseDNS no」を追記
   ※すでに「UseDNS yes」が記述されていれば、コメントアウトする(「#UseDNS yes」) 
  ・名前解決できるように、hostsファイル(/ets/hosts)やDNSに、接続先のIPを登録する
   ※例えば、192.168.1.123 へ接続しようとしている場合、「192.168.1.123 dummy.com」などてきとうな名前をつけてしまえばOK

・GSSAPI認証を利用しているが、タイムアウト
 セキュリティ的に問題がなければ(ローカル環境や仮想環境なら問題ないと思われるが)、GSSAPI認証をOFFにすればよい
 →・sshd設定(例:/etc/ssh/sshd_conf)に、「GSSAPIAuthentication no」を追記
   ※すでに「GSSAPIAuthentication yes」が記述されていれば、コメントアウトする(「#GSSAPIAuthentication yes」)

・・・思い出したのでもう1つ。
IPv6を無理矢理利用してて遅い事もあった気がします。
この場合、network設定でIPv6を利用しない設定(無効にする設定)にするか、
sshd設定にて「AddressFamily any」となっている所を「AddressFamily inet」とするとOKです。


Ubuntu12.04とかでサーバをつくると、SSHの初期設定で上記認証を利用する設定になっているみたいですね。


ケースB、
パスワード入力後、SSH接続の確立までが遅い場合。
・・・なんか経験はある気がするのですが、、、忘れましたw^^;;;;;;

思い出したら追記しますorz


ケースC、
接続後の遠隔操作にて、レスポンスやコマンドの送信が遅い場合、全体的に遅い場合が多く、ネットワーク全体の通信環境(速度、遅延時間)が悪い場合が多いです。
ネットワーク管理者に相談、といった所ですね。
pingやnmapなどの通信応答チェックでネットワークを調査してくださいませ。


以上でっす。

クライアント側のSSH_confでも、GSSAPI認証の設定などあるかもしれません。
もしサーバ側を調整しても改善しなければ、クライアントも調整してみてくださいませ。