为什么我的 SSH 登录很慢?

为什么我的 SSH 登录很慢?

我发现 SSH 登录时出现延迟。具体来说,有 2 个地方出现从瞬间到数秒的延迟。

  1. 在发出 ssh 命令并获取登录提示之间
  2. 在输入密码和加载 shell 之间

现在,我在这里只查看 ssh 详细信息。显然,网络延迟、硬件和操作系统的速度、复杂的登录脚本等都可能导致延迟。为了便于理解,我使用 ssh 连接到大量 Linux 发行版和一些 Solaris 主机,其中主要使用 Ubuntu、CentOS 和 MacOS X 作为我的客户端系统。几乎所有时间,ssh 服务器配置都与操作系统的默认设置保持一致。

我应该对哪些 ssh 服务器配置感兴趣?是否有可以调整的 OS/内核参数?登录 shell 技巧?等等?

答案1

尝试设置UseDNSno/etc/sshd_config/etc/ssh/sshd_config

答案2

当我ssh -vvv在性能类似缓慢的服务器上运行时,我看到这里挂起了:

debug1: Next authentication method: gssapi-with-mic

通过编辑/etc/ssh/ssh_config和注释掉该身份验证方法,我让登录性能恢复正常。以下是我在/etc/ssh/ssh_config服务器上的内容:

GSSAPIAuthentication no

您可以在服务器上全局设置此项,这样它就不会接受 GSSAPI 进行身份验证。只需在服务器上添加GSSAPIAuthentication no/etc/ssh/sshd_config重新启动服务即可。

答案3

对我来说,罪魁祸首是 IPv6 解析,它超时了。(我猜是我的主机提供商的 DNS 设置不正确。)我通过执行 发现了这一点ssh -v,它显示了哪个步骤挂起了。

解决方案是ssh使用以下-4选项:

ssh -4 [email protected]

答案4

您始终可以ssh-v显示当前正在执行的操作的选项开始。

$ ssh -v you@host

根据您提供的信息,我只能建议一些客户端配置:

  • 由于您写道您正在手动输入密码,因此我建议您尽可能使用公钥认证。这样可以消除速度瓶颈。

  • 您还可以使用 禁用 X-forwarding-x和身份验证转发-a(这些可能已默认禁用)。特别是如果您的客户端需要为命令启动 X-server ssh(例如在 OS X 下),禁用 X-forwarding 可以大大提高速度。

其他一切实际上取决于您在何时何地遇到了什么样的延误。

相关内容