質問: リモート サーバーに ssh しようとしているときに、ユーザー名を入力した後、パスワード プロンプトが表示されるまでに長い時間がかかります。基本的に、私の SSH ( openSSH ) は認証プロセス中に遅いです。この問題を解決するにはどうすればよいですか?
答え: localhost からリモートホストへの ssh ログインが遅い場合は、以下に示すように、オプション -v を使用して ssh 接続を開始するときに ssh デバッグを有効にします。
「debug1:SSH2_MSG_SERVICE_ACCEPT を受信しました」が表示された後 」メッセージ、ssh セッションは、次のデバッグ ステートメントに進む前にほぼ 1 分間ハングします。
$ ssh -v ramesh@remote-host debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received <-- OpenSSH hanging here for 1 min debug1: Authentications that can continue: publickey,password debug1: Next authentication method: publickey debug1: Trying private key: /root/.ssh/identity debug1: Trying private key: /root/.ssh/id_rsa debug1: Trying private key: /root/.ssh/id_dsa debug1: Next authentication method: password ramesh@remote-host's password:
解決策:sshd_config ファイルで UseDNS を no に設定します
ssh を使用してリモート サーバーに接続する際のこのパフォーマンスの問題を修正するには、/etc/ssh/sshd_config ファイルで以下に示すように UseDNS を no に設定します。
$ vi /etc/ssh/sshd_config UseDNS no
openssh を再起動し、リモート サーバーに再度接続します。今回は高速で、SSH2_MSG_SERVICE_ACCEPTED でハングすることはありません。
# service sshd restart $ ssh -v ramesh@remote-host