我刚刚安装了 Ubuntu 11.10,每当我尝试通过 SSH 连接到我的服务器时,速度都非常慢。在显示密码提示之前,可能需要 40 秒到 60 秒的时间。
我用:
ssh [email protected]
一旦我登录,一切都很正常,而且运行速度很快。
为什么要花这么长时间?我该如何解决? SSH 命令中是否有我可以使用的任何选项?
答案1
这很慢,因为 OpenSSH 守护程序使用 DNS 对客户端主机名进行反向查找,以确保其有效
sudo vi /etc/ssh/ssh_config
注释掉以下几行
#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no
或者
添加这个:
UseDNS no
答案2
这只是 Book Of Zeus 答案的补充。如果您没有 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 [email protected]
ssh linux-srv