回答:
失敗する可能性のあるものがいくつかあります。-vvv
sshが実行していることの詳細なトレースを印刷し、一時停止している場所を確認できるように追加します。
問題は、クライアントまたはサーバーにある可能性があります。
サーバー上の一般的な問題は、逆DNSルックアップがタイムアウトするクライアントから接続している場合です。(「逆引きDNSルックアップ」とは、クライアントマシンのIPアドレスからホスト名に戻ることを意味します。セキュリティにはあまり役に立たず、ログエントリからの侵入試行を診断するのにわずかに役立ちますが、デフォルトの設定ではそれが行われます。)逆DNSルックアップをオフにするUseDNS no
には、に追加し/etc/ssh/sshd_config
ます(サーバーでrootになる必要があります。後でSSHサービスを再起動することを忘れないでください)。
うまくいかないもう1つのことは、GSSAPI認証のタイムアウトです。それが何であるかわからない場合、おそらくそれに依存していないでしょう。または(クライアント側にある)に行GSSAPIAuthentication no
を追加することでオフにできます。/etc/ssh/ssh_config
~/.ssh/config
UseDNS no
、魅力のように修正しました。私は、内部IPの逆引きを処理するDNSサーバーのない内部ネットワークにいます。
GSSAPIAuthentication
ますか?(15分間グーグルはそれを明らかにしませんでした)
ログインプロセスに時間をかけて、どれくらい時間がかかるかを確認します。
[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 no
解決済み
これは、Ubuntuのインストールで問題が発生するものです。
これを修正するには、/ etc / nsswitch.confの次の行を変更する必要があります。
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
そして、これを変更してください:
hosts: files dns
私の場合、問題は再起動することで解決できますsystemd-logind
:
systemctl restart systemd-logind
これはServerfaultで言及されています。
私は定期的にこれをしなければなりません、そして、私は問題の根本原因が何であるかわかりません。
私の場合のsshのデバッグ出力は、「接続」中に30秒間停止しました。ソリューションは、ローカルシステムのDNS設定に関連していることが判明しました。以前のネットワーク構成では、/etc/resolv.conf
ファイルに偽のDNSサーバーが残っていました。現在のDNSサーバーに置き換えて問題を修正しました。
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。