web-dev-qa-db-ja.com

sshサーバーへの接続に時間がかかりすぎる

Arch Linuxdebianvirtual boxで実行)の2つのVMがあります。少し前までは、Arch VM over sshに接続するのに時間がかかり始めました。しばらくして初めて、連続した試行がすばやく発生します。 ArchVMに表示されるものは次のとおりです。

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は、VMのデフォルトゲートウェイです。これはどういう意味ですか?

P.S.これが 良い答え です。おかげで私は問題の調査をいくらか進めることができました。

3
x-yuri

私の推測では、問題は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:00brick 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
sourcejedi

この段階では、接続速度が低下する可能性があります。 this リンクから、私が目にする問題の1つは暗号化に関連しています。

最後に、私は何が問題なのかを知っています。

/ home/userディレクトリは暗号化されているため、ログインしない限りsshはアクセスできませんでした。

また、 ここ からのもう1つの可能性は、SELinuxサービスに関連しています。

はい、SELinuxが原因である可能性があります。 .sshディレクトリのラベルが間違っている可能性があります。 /var/log/audit/audit.logを見てください。 ssh_home_tというラベルを付ける必要があります。 ls -laZで確認してください。必要に応じてrestorecon -r -vv /root/.sshを実行します。

また、 this リンクから、PAM認証がSSHの速度低下の原因である可能性があることもわかりました。

/ etc/ssh/ssh_config」を編集して、次の行をコメントアウトします。

GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
2
Ramesh