SSHログインを高速化するには?


23

私の家の外から、SSHを使用してUbuntuサーバーにログインするたびに、パスワードのプロンプトが表示されるまで約6秒かかりますが、Webホスティングサーバーにログインすると約1秒かかります。これを高速化するにはどうすればよいですか?

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
$ ssh -v
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
$ cat /proc/cpuinfo
model name      : Dual-Core AMD Opteron(tm) Processor 1210
cpu MHz         : 1000.000
cache size      : 1024 KB
$ cat /proc/meminfo
MemTotal:      2074528 kB

回答:


38

これについて私が見た最大の理由は、SSHDの構成オプションであり、UseDNSこのオプション(デフォルトで有効)により、サーバーは着信要求でDNS解決を実行します。時間のかかる操作。ログインが1分からパスワードプロンプトを数秒以内に待つのを見ました。/etc/ssh/sshd_configサーバー上で編集し、下部に追加する場合(そこにない場合)UseDNS no、SSHデーモンを再起動すると、service ssh restart次回の接続時に改善が見られます。


6
DNS構成を修正する方が適切です。
トールビョーンラウンアンデルセン

これはすばらしかった!! ありがとう!ログイン時間は20〜30秒から5秒未満になりました:)
AntonioCS

3
UseDNS有効にしたことの利点は何ですか?
エンドリューク

注意してください!ディレクティブのUserDNS後にMatchディレクティブを設定すると、エラーが発生しis not allowed within a Matchます。sshdを再起動すると、サーバーにsshできなくなります。私はこの間違いをし、サーバーからロックアウトされました。ディレクティブが含まれているsshd_config場合は、下部にディレクティブを追加しないMatchでください。
アドリアーノローザ

6

私にとって、長いSSHセッションログインの理由番号2(サーバー側のUseDNSオプションの後)は、クライアント側がIPv6を使用して接続しようとすることです(明らかに、ネットワーク上または他のほとんどのネットワーク上で正しく設定されていませんが、そのことについては)。

HOWTO: UbuntuフォーラムのSSHログイン高速化するをご覧ください。

「解決策」は、IPv4のみを有効にすることです。

1)所定のSSHクライアント呼び出しの場合:

ssh -4 login@hostname

2)またはsshクライアント設定でグローバルに/etc/ssh/ssh_config

Host *
   AddressFamily inet

もちろん、ネットワーク上でIPv6を適切に設定する方が正しいでしょうが、だれがそのための時間を持っていますか:)


3

sshコマンドで次のオプションを追加してみてください。

-o "PreferredAuthentications=password"

(これは、sshが他の認証方法をネゴシエートするのを防ぎ、パスワードpromtpを高速化します!)


2
なぜパスワードを使用するのですか?なぜ鍵ではないのですか?
TJエリス

1
簡単:キーを使用できない場合があるためです!(sshdがそれらを使用するように構成されていない、不適切なユーザーファイルのアクセス許可など9
perseo22

2

さらに、リモートマシンで(ログインするユーザーとして)これを入力して、MOTDメッセージを抑制します。

touch ~/.hushlogin

オフにするほどの違いはありませんが、UseDNS接続速度が遅い場合に役立ちます。


1
-1:MOTDは、ログインに成功した後にのみ表示されます。これにより、パスワードプロンプトが速く表示されることはありません。
アサエアーズ

2
本当ですが、それでも有用なコメントです。
sebastian_k

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