sshの「パスワード」プロンプトが表示されるのに時間がかかるのはなぜですか?


94

しようとするsshと、パスワードプロンプトが表示されるまでに時間がかかりすぎます(約2分)。

なぜこれが起こるのですか?


1
実際、Gilles答えは、コメントで説明されているとおりの答えでなければなりません。
gertvdijk

回答:


143

失敗する可能性のあるものがいくつかあります。-vvvsshが実行していることの詳細なトレースを印刷し、一時停止している場所を確認できるように追加します。

問題は、クライアントまたはサーバーにある可能性があります。

サーバー上の一般的な問題は、逆DNSルックアップがタイムアウトするクライアントから接続している場合です。(「逆引きDNSルックアップ」とは、クライアントマシンのIPアドレスからホスト名に戻ることを意味します。セキュリティにはあまり役に立たず、ログエントリからの侵入試行を診断するのにわずかに役立ちますが、デフォルトの設定ではそれが行われます。)逆DNSルックアップをオフにするUseDNS noには、に追加し/etc/ssh/sshd_configます(サーバーでrootになる必要があります。後でSSHサービスを再起動することを忘れないでください)。

うまくいかないもう1つのことは、GSSAPI認証のタイムアウトです。それが何であるかわからない場合、おそらくそれに依存していないでしょう。または(クライアント側にある)に行GSSAPIAuthentication noを追加することでオフにできます。/etc/ssh/ssh_config~/.ssh/config


8
私にとっては、GSSAPIAuthenticationの問題でした。ありがとうございました。
-RajaRaviVarma

14
DNSの逆引きが私の問題
でした

2
逆引きDNSも私にとっての犯人でありUseDNS no、魅力のように修正しました。私は、内部IPの逆引きを処理するDNSサーバーのない内部ネットワークにいます。
ジョーダンマック14

1
無効化にセキュリティ上の影響はありGSSAPIAuthenticationますか?(15分間グーグルはそれを明らかにしませんでした)
アレクサンダーマラホフ

3
@AlexanderMalakhovこれに依存してログインしている場合、それを無効にするとロックアウトされます。それ以外はありません。また、GSSAPIを使用している場合は、ネットワーク上でGSSAPIベースのサービスを構成する必要があったことを知っています。
ジル

13

ログインプロセスに時間をかけて、どれくらい時間がかかるかを確認します。

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.

real    0m45.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#

上記を参照して、ログインに約45秒かかりました--------非常に遅い

ルートとしてログインしたら、sshd_configファイルを編集し、UseDNSエントリを次のように変更します。ここでは、ファイルを編集する代わりにsedを使用しています。

[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes

[root@ISSLABNTL01 ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no

[root@ISSLABNTL01 ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@ISSLABNTL01 ~]# exit

ログインプロセスの時間を計り、それがどれくらい時間がかかるか見てみましょう。

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout

Connection to ISSLABNTL01 closed.

real    0m6.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#

パスワードを入力する時間である6秒かかりました。


素晴らしい..ある時点で.. useDNSは私のためにそれを修正しなかった。 'パスワードの入力は含まれていません。
barlop

私は確認することができますUseDNS no/etc/ssh/sshd_config固定私の問題

UseDNS no解決済み
パンドゥランパティル

@PandurangPatil悪い構成オプション:usedns
ユセフモハマディ

@zhilevanまた、なぜそれが悪い構成であるかについて言及する必要があります。それはなぜ設定が悪いのかを理解するのに役立ちます
パンドゥランパティル

4

これは、Ubuntuのインストールで問題が発生するものです。

これを修正するには、/ etc / nsswitch.confの次の行を変更する必要があります。

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

そして、これを変更してください:

hosts:          files dns

3
Ubuntuの設定は間違っていません。場合によっては(中央DNSサーバーのないホームネットワーク)、それは正しいことです。その他(mDNS要求がタイムアウトするネットワーク)では、それは悪いです。
ジル

[NOTFOUND = return]は存在しないはずです。
ノイキーノ

4
@Neuquinoそれがあるはずです。どうやらあなたが理解していない理由がそこにあります。nsswitch.confこのようなあなたをいじることは、トラブルを要求し、SSHを遅くする一般的な解決策を提供しないことです。
gertvdijk

これは私にとって唯一の解決策のようです
リネロ

4

私の場合、問題は再起動することで解決できますsystemd-logind

systemctl restart systemd-logind

これはServerfaultで言及されています

私は定期的にこれをしなければなりません、そして、私は問題の根本原因が何であるかわかりません。


1

私の場合のsshのデバッグ出力は、「接続」中に30秒間停止しました。ソリューションは、ローカルシステムのDNS設定に関連していることが判明しました。以前のネットワーク構成では、/etc/resolv.confファイルに偽のDNSサーバーが残っていました。現在のDNSサーバーに置き換えて問題を修正しました。


0

私にとっては、システムdnsを127.0.0.1に変更していましたが、以前は存在していませんでした。

nano /etc/resolv.conf

そして、以下を書きます

domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1

私にとっては、このファイルは(なしE)/etc/resolv.confをしているように見えた
シャドウ

0

ポスターの環境についてはあまり知りませんが、同様の問題を抱えている他の人にとってsssdは、LDAPモジョを結びつけるために使用する問題である可能性があります。

これは私に起こります:

$ time ssh server.example.com

real  2m0.018s
user  0m0.006s
sys   0m0.004s

私はサーバーにアクセスする必要があります(私の場合はコンソール経由)。

service restart sssd

その後、物事は機能します。私は根本的な原因をデバッグする時間がありませんでしたが、この絆創膏は私のために機能します。


0

sshを介し遅いパスワードプロンプトを解決できました-dlinkルーターのDHCP設定でDNSリレー有効にするをチェックすることで問題が発生しました。その後、SSHとの接続は1秒以内に機能しました。

Network Settings -> Router Settings -> Enable DNS Relay [x]

デフォルトの構成では、すべてのDNS要求がプロバイダーに転送されます。私はssh pi@10.0.0.103で接続していましたが、遅かったです。ソリューションのヒントは、dhcpを介して提供される/etc/resolv.conf "search upc.at"のエントリでした。

dlinkマニュアルの状態:

When DNS Relay is enabled, DHCP clients of the router will be assigned 
the router's LAN IP address as their DNS server. All DNS requests that 
the router receives will be forwarded to your ISPs DNS servers. 
When DNS relay is disabled, all DHCP clients of the router will 
be assigned the ISP's DNS server.

クライアントとサーバーでdhcpがリリースされた後、SSH経由の接続は再び高速になりました。HTH。

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