web-dev-qa-db-ja.com

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

家の外から、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
23
grokus

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

37
Marco Ceppi

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

Ubuntuフォーラムで HOWTO:SSHログインの高速化 を参照してください。

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

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

ssh -4 login@hostname

2)または/etc/ssh/ssh_configのsshクライアント構成でグローバルに:

Host *
   AddressFamily inet

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

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

-o "PreferredAuthentications=password"

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

3
perseo22

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

touch ~/.hushlogin

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

2
Oli

かなり古いUbuntuバージョンを使用しているので、次のバグである可能性があります。 https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/300151

Dbus(/etc/init.d/dbus restart)の再起動が役立つ場合があります。

2
Marcel Stimberg