如何加快SSH登录速度?

如何加快SSH登录速度?

在我家外面,每当我使用 SSH 登录我的 Ubuntu 服务器时,我都需要大约 6 秒钟才能收到密码提示,但是当我登录我的网络托管服务器时,大约需要 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

答案1

我看到的首要原因是 SSHD 中的配置选项,UseDNS此选项(默认启用)导致服务器对传入请求执行 DNS 解析。这是一项耗时的操作。我见过登录从等待密码提示一分钟多到几秒钟的时间。如果您/etc/ssh/sshd_config在服务器上编辑并在底部添加(如果它不在那里)UseDNS no,然后重新启动 SSH 守护程序,service ssh restart您应该会在下次连接时看到改进。

答案2

对我来说,长时间 SSH 会话登录的第二个原因(在服务器端 UseDNS 选项之后)是客户端尝试使用 IPv6 进行连接(显然,在我的网络上没有正确设置 - 或者几乎在任何其他网络上都没有正确设置)。

如何加速 SSH 登录在 Ubuntu 论坛上。

“解决方案”是仅启用 IPv4:

1)对于给定的 SSH 客户端调用:

ssh -4 login@hostname

2)或者在 ssh 客户端全局配置中/etc/ssh/ssh_config

Host *
   AddressFamily inet

当然,在你的网络上正确设置 IPv6 是更正确的,但是谁有时间做这个呢 :)

答案3

尝试使用 ssh 命令添加下一个选项:

-o "PreferredAuthentications=password"

(这可以防止 ssh 协商任何其他身份验证方法,并加快密码提示速度!)

答案4

由于您使用的是较旧的 Ubuntu 版本,因此很可能存在这个错误:https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/300151

重新启动 dbus ( /etc/init.d/dbus restart) 可能会有帮助。

相关内容