当前位置: 首页>>技术教程>>正文


configuration – 如何加快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

最佳方法

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

次佳方法

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

请参阅 Ubuntu 论坛上的 HOWTO: Speed up SSH login

“solution” 仅启用 IPv4:

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

ssh -4 login@hostname

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

Host *
   AddressFamily inet

当然,在您的网络上正确设置 IPv6 会更正确,但谁有时间这样做:)

第三种方法

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

-o "PreferredAuthentications=password"

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12377.html,未经允许,请勿转载。