SSHの接続が遅い[重複]


25

Ubuntu 11.10をインストールしたばかりで、サーバーにSSHで接続しようとすると非常に遅くなります。パスワードプロンプトを表示する前に、40〜60秒かかります。

私が使う:

ssh myuser@myserver.com

ログインすると、すべてが正常に動作し、高速に動作します。

なぜそんなに時間がかかるのですか?どうすれば修正できますか?使用できるSSHコマンドにオプションはありますか?

回答:


44

OpenSSHデーモンはDNSを使用してクライアントホスト名で逆ルックアップを実行し、有効であることを確認するため、これは低速です

sudo vi /etc/ssh/ssh_config

次の行をコメントアウトします

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no

または

これを追加:

UseDNS no

6
サーバー側にはsshd_configファイルがあり、クライアント側にはssh_configファイルがあります。ssh_configファイルでクライアントとサーバーでこれらのオプションを設定しても助けにはなりませんでした。サーバーのsshd_configファイルに設定GSSAPIAuthentication noGSSAPIDelegateCredentials yesて追加UseDNS noした後のみ、接続が高速化されました。
metakermit

1
これを行うことのセキュリティ上の意味はありませんか?
TheStoryCoder

良い質問@TheStoryCoder、病気のダブルチェックに、あなたは...今私の好奇心を誘発している
ゼウスの本

1
追加した後UseDNS noBad configuration option: usedns別のサーバーにsshログインしようとしたときに取得しました。
キャスパー

1
in またはに設定UseDNSnoてみてください。ない!/etc/sshd_config/etc/ssh/sshd_config/etc/ssh_config
Yu Jiaao

13

これは、ゼウスの書の答えを補足するものです。ルートアクセス(sudo)がない場合でも、設定できます。

次の「ユーザーssh_config」ファイルを編集する必要があります。

vi $HOME/.ssh/config

(注:存在しない場合は、$ HOME / .sshディレクトリを作成する必要があります)

そして追加:

Host *
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

必要に応じてホストごとに行うことができます:)例:

Host linux-srv
  HostName 192.158.1.1
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

IPアドレスがサーバーのIPと一致していることを確認してください。クールな利点の1つは、sshがこのサーバーのオートコンプリートを提供することです。あなたが入力することができるようにssh lin+ Tab、それはオートコンプリートすべきですssh linux-srv

便利なオプションをたくさん追加して、毎回入力する必要がないようにすることができます。

User <a user>
Port <a port number>
IdentityFile <a specific private key>
Compression yes
....

したがってssh -C -p 1022 -i ~/.hidden/prv-key-4096bit superuser@192.158.1.1、単純な入力の代わりにssh linux-srv十分です!

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