Ubuntu 9.05サーバーにSSHで接続すると「パスワード」プロンプトが永久に表示されるのはなぜですか?


27

回答:実際には、逆DNS解決を実行していました。以下の提案とこの記事に基づいて、sshd_configに「UseDNS no」を追加し、sshを再起動すると、すぐにパスワードプロンプトが表示されます。

サーバーにSSH接続すると、標準の「login as:」プロンプトが表示され、その後に「user @ host's password:」プロンプトが表示されます。何らかの理由で、2番目のものは常に表示に時間がかかります。私のサーバーは負荷がかかっておらず、通常は非常に高速にコマンドを実行します。

さて、ユーザー名でEnterキーを押してから2番目のプロンプトが表示されるまでの間に、たった10秒しか話していないのですが、これを何度も行うと迷惑になります。Ubuntuがユーザーアカウントを検索していると思われますが、インストール全体で5つ未満のアカウントがあります。

更新@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は私のユーザー名です。これはどういう意味ですか?


Wiresharkなどのパケットスニファーの使用方法を知っていますか(または学びたいtcpdumpですか)?これは、サーバーが実際にその時間すべてを実際に使用しているか、実際にクライアントと通信しているかを示します。
アルジャン

回答:


17

IPで逆DNSルックアップを実行している可能性はありますか?クライアントがパブリックIPアドレスを使用している場合は、オンラインで結果を確認するか、サーバーから次のようなものを使用できます。

dig -x CLIENT_IP_ADDRESS

/var/log/messagesかありますか?


ログに警告があります:警告:デフォルトのソルト値(〜/ .ecryptfsrcで未定義)を使用しています。分析のために質問のセクション全体を掲載しました。
rcampbell

@ rrc7czでは、逆DNSはどうでしょうか?IPアドレスは何かに解決しますか?(ほとんどの場合、ユーザー名のプロンプトを表示するかどうかを決定するためにいくつかのハンドシェイクが必要になるため、それが役立つとは思わない。ただし、接続しようとする前に、一部のクライアントはそのユーザー名を要求するかもしれません ...?)
Arjan

3
この逆DNSルックアップの問題により、2、3のインストールでssh接続が遅くなりました。この場合、/ etc / ssh / sshd_configの「UseDNS yes」の行をコメントアウトし、sshdを再起動します。
ジョンバレット

@john、ユーザー名を入力した後に速度が低下しことを覚えていますか?
アルジャン

1
「UseDNS no」も助けてくれました!質疑応答の両方にUpVotes!
グリズリー

14

おそらく逆DNS解決(IPを指定してクライアントの名前を取得しようとするサーバー)には時間がかかります。/ etc / ssh / sshd_configに「VerifyReverseMapping yes」が設定されているかどうかを確認できますか?「VerifyReverseMapping no」に設定し、役立つかどうかを確認します。

編集:VerifyReverseMappingは現在廃止されており、useDNSはsshd_configの新しい構成です。


それは本当かもしれませんが、ユーザー名のプロンプトがすぐに表示され、その後パスワードを要求されるのに10秒かかることは意味がありますか?
アルジャン

クライアントはサーバー名を解決してリクエストを送信できるため、ユーザープロンプトがすぐに表示されます。ただし、サーバーはクライアントの名前を取得しようとします(逆DNS解決)。エントリが存在しない場合、これはタイムアウトになる可能性があります。sshd-configの「VerifyReverseMapping」設定がこのチェックを制御します。
secureBadshah 2009年

1
これが私の場合の遅さの理由だったので、少なくともいくつかのケースでは理にかなっています。デフォルトはyesですので、useDNS設定されている場合は検索しないでください:)
Nanne


3

次から始まるユーザー名でいつでもログインできます。

ssh user@server

それは効果がありますか?

PuTTYを使用している場合は、[接続]-> [自動ログインユーザー名としてのデータ]で構成できます。


1
これは明らかにパスワードプロンプトが表示されるまでの時間を短縮しませんが、ログインプロセス全体を確実に高速化します。おかげで
rcampbell

3

すべてに適切なドメイン名がない場合は、何かを作成してに入れてください/etc/hosts.com「ボブ、キャロル、テッド、アリス」など何でも好きなだけ使用して気にしないでください...

問題がリゾルバーのタイムアウトである場合、これにより修正されます。


1

クライアントは逆DNSチェックも行うことに注意してください。特定の解像度構成で逆DNSマッピングが存在しない場合、タイムアウトに30秒以上かかることがあります。

いずれか/etc/ssh/ssh_configまたは~/.ssh/configセットでCheckHostIP no、このクライアント側ルックアップを無効にします。

詳細についてはman 5 ssh_config、を参照してください。


1

私はこの問題の代替ソリューションを見つけました:-http : //www.patrickmin.com/linux/tip.php?name=ssh_pause

WindowsでPuttyを使用してLinuxビルドマシンにログインするのと同じ問題が発生していました。WindowsマシンのIPアドレスをLinuxマシンの/ etc / hostsに追加すると、問題は解決しました。


3
スーパーユーザーへようこそ-通常、リンクだけでなく詳細を含めることをお勧めします。回答を編集して、リンクからさらに情報を追加できますか?
サイモンシーハン

1

記録のために、sshが自宅からホームサーバーまで高速になる(主にgitで使用する)という同じ問題を経験しましたが、パスワードのプロンプトを表示するには職場で約10〜20秒かかります。

オフにしUseDNS noて再起動する必要がありましたsshd sudo systemctl restart sshd.service。その後、すべての場所から機能します。

質問に対する回答があり、受け入れられていることは知っていますが、dnsの使用を停止するには「積極的に」noに設定する必要があるため、情報を追加したかったのです。


0

nslcd(LDAPデーモン)が実行されているかどうかを確認してください:

ps -ef | grep nslcd

この問題が発生する可能性があります。

実行中の場合は停止し、サービスのリストから削除します

service nslcd stop
chkconfig nslcd off
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.