ネットワーク内の一部のLinuxサーバーがsshを使用して接続するのに時間がかかることに気づきました。
状況:
私が直面している2つの状況があります。
一部のサーバーでは、ask for passwordに長い時間がかかる場合があります
しかし、他のサーバーでは、パスワードを挿入すると応答しません。そしてしばらくすると20 0r 30秒と言いますConnection Closed
1ケースの詳細:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric Host address
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric Host address
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric Host address
debug2: we did not send a packet, disable method
debug1: Next authentication method: publickey
debug1: Trying private key: /home/umairmustafa/.ssh/id_rsa
debug1: Trying private key: /home/umairmustafa/.ssh/id_dsa
debug1: Trying private key: /home/umairmustafa/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
今朝も同じ問題がありました...
/etc/ssh/sshd_config
を設定するGSSAPIAuthentication no
これは、DNSが正しく構成されていないときによく起こりましたが、SSHはすべての接続で逆ルックアップを実行しようとしているため、高いタイムアウトを待機している可能性があります。 /etc/ssh/sshd_config
でこれを試してください:
UseDNS no
次に、SSHデーモンを再起動します。これにより、逆ルックアップが使用されなくなります。
サーバー構成を変更したくない場合
$HOME/.ssh/config
に移動して追加
Host *
GSSAPIAuthentication no
最近、sshログインが遅い別の原因を発見しました。
/ etc/sshd_configに「UseDNS no」がある場合でも、/ etc/hosts.denyにnnn-nnn-nnn-nnn.rev.some.domain.comのようなエントリがある場合、sshdは逆DNSルックアップを実行する可能性があります。 Denyhosts がシステムにインストールされている場合に、これが発生する可能性があります。
誰かがDenyhostsに/etc/hosts.denyにこの種のエントリを置かないようにする方法を知っていたら素晴らしいでしょう。
Sshの接続に1〜2分かかる別の理由を見つけました。次のように接続すると、
ssh -i keypair.pem [email protected]
およびhostname.domain.com
にはIPv4とIpv6の両方のアドレスがあり、最初にIPv6経由で接続しようとすると停止し、最後にIPv4にフォールバックします。
簡単な修正。IPv4のみを使用するように強制します。
ssh -4 -i keypair.pem [email protected]
またはIPアドレスで直接接続する
ssh -i keypair.pem [email protected]