Psychz -凯尔
投票:5发布日期:2017年10月10日01:47:58
这个错误"ssh_exchange_identification:连接被远程主机关闭"是由多种原因造成的。下面列出了一些原因和解决方案。
1.检查“/ etc /系统”和“/ etc / hosts.deny”文件。顾名思义,这些文件包含系统中允许或拒绝的主机名。请检查"/etc/hosts.deny"文件是否包含任何”sshd:“字段。如果是,则删除该行。它正在阻止任何SSH连接的建立。您还可以添加字段”sshd:“来“/ etc /系统”文件。
2.检查“/ etc / ssh”包含用于连接的所有SSH密钥的目录。有些密钥可能损坏。请从列表中删除密钥,并使用以下命令重新启动“sshd”服务。
/etc/init.d / sshd开始
如果无法删除文件,可以使用以下命令强制删除。
ssh-keygen -t rsa -f /etc/ssh/name_of_the_key
重启服务时,密钥将自动重新生成。
服务器受到攻击或负载过重
您必须在连接时遇到问题的一个主要原因是,服务器目前正受到攻击(DDoS),已经达到其容量,并拒绝任何进一步的连接。或者它可能真的遇到了高流量,无法处理任何进一步的请求。
这个问题可以通过增加管理机器上sshd配置文件中的MaxStartups属性值来解决。MaxStartups指定到sshd守护进程的未经身份验证的最大并发连接数。其他连接将被删除,直到身份验证成功。
root@192.112.XX.XX # grep MaxStartups /etc/ssh/sshd_config
# MaxStartups 10:30:60
备注:默认值为10。
10:在我们开始删除之前,未经身份验证的连接数
30:当我们到达10时掉落的概率百分比(超过10时线性增加)
60:我们开始丢弃所有东西的最大连接数
# service sshd restart
由于应用了补丁或系统更新而导致的依赖项缺失
通常,这发生在glibc或openssl升级时。许多发行版可以安装glibc或openssl lib的更新,而不需要重启sshd。在任何发行版上,您都可以在更新后识别它,然后使用lsof(“列出打开的文件”)查看sshd在哪里有打开的文件。有些库会被指向DEL,因为这些库在更新时被删除了。
~ # lsof -n | grep ssh | grep DEL