SSHサーバーへの接続に時間がかかりすぎます。

SSHサーバーへの接続に時間がかかりすぎます。

とを含む2つのarch linux仮想マシンdebian(で実行中)があります。virtual boxしばらくして、.NET経由でVMに接続するのにarch時間がかかり始めましたssh。最初は、しばらくすると連続的な試みが急速に行われます。arch仮想マシンで見た内容は次のとおりです。

debug1: userauth-request for user yuri service ssh-connection method none
debug1: attempt 0 failures 0
debug3: Trying to reverse map address 10.0.2.2.
# ^^^ spends a lot of time after this line
debug2: parse_server_config: config reprocess config len 314
debug2: input_userauth_request: setting up authctxt for yuri
debug1: PAM: initializing for "yuri"
debug1: PAM: setting PAM_RHOST to "10.0.2.2"
debug1: PAM: setting PAM_TTY to "ssh"
debug2: input_userauth_request: try method none
Failed none for yuri from 10.0.2.2 port 35786 ssh2

10.0.2.2仮想マシンのデフォルトゲートウェイです。どういう意味ですか?

PSこれ良い答えおかげで、この問題を研究するのにある程度進展を遂げることができました。

答え1

私の考えでは、問題はDNS要求のタイムアウトです。接続するサーバーでUseDNSオプションをオフにします。

サーバーログを見ると、これはほとんど確認されています(公開するのはうまくいきました:)。

debug3: Trying to reverse map address 10.0.2.2.
# ^^^ spends a lot of time after this line

報告man sshd_config:

 UseDNS  Specifies whether sshd(8) should look up the remote host name and
         check that the resolved host name for the remote IP address maps
         back to the very same IP address.  The default is “yes”.

これはほとんど意味がない。ぜひご確認くださいいいえ接続を終了します。通過できない場合は、指を振るメッセージのみが記録されます。

7月9日05:43:00 brick sshd [18971]:アドレス200.41.233.234はhost234.advance.com.arにマップされますが、これはそのアドレスに再マップされません。侵入の試みが可能です!

これは、不能なISPを使用しているユーザーにひどい誤検出を生成するだけです。

いいですね。では、これはどのように遅延を引き起こすのでしょうか?

DNS サーバーがすぐに応答しない場合、クライアントは待ってから再試行する傾向があります。 (ネットワーク輻輳によってDNSパケットが遅延または失われる場合)DNSサーバーがまったく応答しない場合、クライアントは最終的に放棄します。たとえば、dig私のシステムでは、再試行時間は15秒です。 (より具体的なDNSライブラリコードを使用しますが、原理は同じです。)

$ time dig invalid @192.0.2.1

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-12.P2.fc20 <<>> invalid @192.0.2.1
;; global options: +cmd
;; connection timed out; no servers could be reached

real    0m15.020s
user    0m0.010s
sys         0m0.011s

したがって、問題は、リバースルックアップが応答を受け取らないことです。サーバーは手動で同じ照会を手動で実行でき、SSHと同じ待ち時間を表示する必要があります。 getent hosts 10.0.2.2

答え2

この段階で接続速度が遅くなる原因はいくつかあります。 ~からこれ私が見た問題の1つであるLinkは暗号化に関連していました。

ついに問題が何であるかを見つけました。

私の/home/userディレクトリは暗号化されているので、ログインしないとsshはそのディレクトリにアクセスできません。

もう一つの可能​​性は以下から来ています。ここサービス関連SELinux

はい、SELinuxそれは理由かもしれません。ディレクトリ.sshのラベルが正しく指定されていない可能性があります。より/var/log/audit/audit.log。とマークする必要があります ssh_home_t。確認してください。ls -laZ必要に応じて実行してくださいrestorecon -r -vv /root/.ssh

またこれまた、リンクを介してPAM認証がSSH速度低下の原因となる可能性があることも確認しました。

'を編集してください。/etc/ssh/ssh_config「」と入力し、次の行をコメントアウトします。

GSSAPIAuthentication yes
GSSAPIDelegateCredentials no

関連情報