一个SSH 登录太慢的解决方法

这个问题曾经遇到过,一直没想明白怎么回事,今天看到一篇文章,明白了原理。
SSH 登录太慢可能是 DNS 解析的问题,默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。有个简单的解决办法就是在 sshd 的配置文件(sshd_config)里取消 sshd 的反向 DNS 解析。

vi /etc/ssh/sshd_config

找到UseDNS,修改为no
UseDNS no
重启SSH服务

/etc/init.d/sshd restart

如果密钥认证出现问题,如
open /root/.ssh/id_rsa failed: Permission denied.
需要关闭SELinux。修改/etc/selinux/config文件中的SELINUX=”” 为 disabled ,然后重启。如果不想重启系统,使用命令setenforce 0

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据