SSH建立连接速度很慢[重复]


25

我刚刚安装了Ubuntu 11.10,每当尝试通过SSH进入服务器时,它的速度都非常慢。在显示密码提示之前,它可能需要40到60秒钟。

我用:

ssh myuser@myserver.com

登录后,一切都很好,并且运行很快。

为什么要花这么长时间,我该如何解决?我可以使用SSH命令中的任何选项吗?

Answers:


44

这很慢,因为OpenSSH守护程序使用DNS在客户端主机名上运行反向查找以确保其有效

sudo vi /etc/ssh/ssh_config

注释掉以下几行

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no

要么

添加:

UseDNS no

6
服务器端有一个sshd_config文件,客户端端有ssh_config。在ssh_config文件中的客户端和服务器上设置这些选项对我没有帮助。只有在我设置GSSAPIAuthentication noGSSAPIDelegateCredentials yes添加UseDNS no到服务器的sshd_config文件中之后,它才为我加快了连接速度。
metakermit,2014年

1
这样做没有安全隐患吗?
TheStoryCoder

@TheStoryCoder好问题,请仔细检查,您现在触发了我的好奇心……
Zeus图书

1
添加后UseDNS noBad configuration option: usedns当我尝试ssh登录另一台服务器时得到了。
卡斯珀

1
尝试将设置UseDNSnoin /etc/sshd_config/etc/ssh/sshd_config。不/etc/ssh_config
余家ao

13

这只是《宙斯之书》答案的补充。如果您没有root用户访问权限(sudo),仍然可以对其进行配置。

您需要编辑“用户ssh_config”文件,该文件为:

vi $HOME/.ssh/config

(注意:如果目录$ HOME / .ssh不存在,则必须创建该目录)

并添加:

Host *
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

您可以根据需要按主机进行此操作:)示例:

Host linux-srv
  HostName 192.158.1.1
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

确保IP地址与您的服务器IP相匹配。一个很酷的优点是,现在ssh将为该服务器提供自动完成功能。因此,您可以输入ssh lin+ Tab,并且应该自动完成ssh linux-srv

您可以添加许多有用的选项,这样您就不必每次都键入它们:

User <a user>
Port <a port number>
IdentityFile <a specific private key>
Compression yes
....

因此,无需键入ssh -C -p 1022 -i ~/.hidden/prv-key-4096bit superuser@192.158.1.1简单内容ssh linux-srv就足够了!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.