Answer:実際、逆DNS解決を実行していました。以下の提案と この記事 に基づいて、sshd_configに「UseDNS no」を追加し、sshを再起動すると、パスワードプロンプトがすぐに表示されます。
サーバーにSSHで接続すると、標準の "login as:"プロンプトが表示され、その後に "user @ Host's password:"プロンプトが表示されます。なんらかの理由で、2番目のものは常に表示に時間がかかります。私のサーバーには負荷がかかっておらず、通常、コマンドを非常に高速に実行します。
ここでは、ユーザー名のEnterキーを押してから2番目のプロンプトが表示されるまでの10秒程度しか話していませんが、これを行うと非常に煩わしくなります。 Ubuntuが私のユーザーアカウントを検索しているのではないかと思いますが、インストール全体で5アカウント未満です。
Update @Josh/ var/log/messagesはこのgemを含んでいます:
Oct 28 16:54:59 Athena Sudo: pam_sm_authenticate: Called
Oct 28 16:54:59 Athena Sudo: pam_sm_authenticate: username = [msmith]
Oct 28 16:54:59 Athena Sudo: Warning: Using default salt value (undefined in ~/.ecryptfsrc)
Oct 28 16:55:01 Athena Sudo: Passphrase key already in keyring; rc = [1]
Oct 28 16:55:02 Athena Sudo: Passphrase key already in keyring; rc = [1]
Oct 28 16:55:02 Athena Sudo: There is already a key in the user session keyring for the given passphrase.
ここでmsmithは私のユーザー名です。これはどういう意味ですか?
IPで 逆DNSルックアップ を実行している可能性はありますか?結果を確認する オンライン クライアントがパブリックIPアドレスを使用している場合、またはサーバーから次のようなものを使用できます。
Dig -x CLIENT_IP_ADDRESS
/var/log/messages
に何かありますか?
おそらく、逆DNS解決(サーバーがIPを指定してクライアントの名前を取得しようとする)には時間がかかります。/etc/ssh/sshd_configに「VerifyReverseMapping yes」が設定されているかどうかを確認できますか?それを「VerifyReverseMapping no」に設定し、役立つかどうかを確認します。
編集:VerifyReverseMappingは非推奨になり、useDNSは sshd_config の新しい構成です。
Sshd_configファイルでGSSAPIAuthentication = noを設定します
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/84899
いつでも最初からユーザー名でログインできます。
ssh user@server
それは何か効果がありますか?
PuTTYを使用している場合は、自動ログインユーザー名としてConnection-> Dataで設定できます。
すべてに適切なドメイン名がない場合は、何かを作り、/etc/hosts
に入れてください。それが速くなるかどうかを確認してください... .com
を気にしないでください "ボブ、キャロル、テッド、アリス"または好きなものを使用してください...
問題がリゾルバーのタイムアウトである場合は、これで修正されます。
この問題の別の解決策を見つけました:- http://www.patrickmin.com/linux/tip.php?name=ssh_pause
WindowsでPuTTYを使用してLinuxビルドマシンにログインすると、同じ問題が発生していました。 Linuxマシンの/ etc/hostsにWindowsボックスのIPアドレスを追加すると、問題が解決しました。
参考までに、sshが自宅からホームサーバー(主にgitに使用)まで高速であるのと同じ問題が発生しましたが、パスワードのプロンプトが表示されるまでに10〜20秒かかります。
オフにする必要がありましたUseDNS no
および再起動sshd
Sudo systemctl restart sshd.service
。その後、すべての場所で機能します。
質問が回答され、受け入れられることはわかっていますが、dnsの使用を停止するために「アクティブ」にnoに設定する必要があるため、情報を追加したいと思いました。
clientはリバースDNSチェックのチェックも行うことに注意してください。特定の解決構成でリバースDNSマッピングが存在しない場合、タイムアウトに30秒以上かかることがあります。
/etc/ssh/ssh_config
または~/.ssh/config
のいずれかでCheckHostIP no
を設定して、このクライアント側ルックアップを無効にします。
詳細については、man 5 ssh_config
をご覧ください。
Nslcd(LDAPデーモン)が実行されているかどうかを確認してください:
ps -ef | grep nslcd
この問題が発生する可能性があります。
実行中の場合は停止して、サービスのリストから削除します
service nslcd stop
chkconfig nslcd off