共计 992 个字符,预计需要花费 3 分钟才能阅读完成。
debian 登录 ssh 很慢怎么办? 在 IDC 机房里一台 windows server 上安装有 vmware workstation 虚拟机, 在 vmware 上安装一台 debian. 从内网一台实体机 debian 远程 ssh 虚拟机 debian 时总会延迟一会儿才弹出 password: 提示。造成 debian 登录 ssh 很慢通常有很多原因,我们看一下是什么原因导致 debian 登录 ssh 很慢的!
debian ssh 登录慢在网上找半天, 得出结论:
问题一:通常的答案是关闭 GSSAPI 认证
打开 /etc/ssh/ssh_config
将 GSSAPIAuthentication yes 其中的 yes 改为 no:
GSSAPIAuthentication no
但是为什么会这样哪? 想到在有外网连接时正常,怀疑是 DNS 解析造成的影响,通过抓包验证了这个推断。原来在登录时,SSH 服务端会对客户端的 IP 做反向解析,此时连接不到 DNS 就出现了延时。那么解决办法来了,打开 /etc/ssh/sshd_config
修改其中的 (如果没有就新增一行):
UseDNS no
可参考 man 5 sshd_config,这个问题也提示我们,如果设置了 DNS,但 DNS 不可用,也会带来的一些副作用的。
问题二:提示 Connection timed out
通过防火墙做 22 端口映射,从外网无法 ssh 连接虚拟机 debian,提示 Connection timed out. 同样的地址转换, 实体机就没有问题,但虚拟机就是连接不上。
刚一开始以为是因为 sshd_config 中的 LoginGraceTime 120 时间太短, 于是改为 300, 问题依旧, 于是又更改别的 IP 做端口映射, 问题依然. 最后断定是防火墙问题, 策略没错, 因为其可以访问外网, 查看访问控制. 加了条策略, 但还是不行, 于是查官方 PPT, 查看时候得到启发。
做访问控制策略时选实际内网地址,高级里选择外网 IP 地址。可以正常远程连接上!
问题三:Debian 默认设置下是开反向域名解析
Debian 默认设置下是开反向域名解析的。我们连接 ssh/ftp 的时候就会有一个比较明显的延时,大概要等 30 秒后才能输入账号密码。解决方法有两个:
1. 将客户机 IP 和域名对应关系加入到 /etc/hosts 上
2. 编辑 /etc/nsswitch.conf
找到 hosts 那行,将其改成下面这样:
hosts: files dns [NOTFOUND=return]