我已经运行了这个脚本几天:
while [ true ]; do ssh USER@SERVER echo -n . || date +"%s"; done
很明显,我的terminal上充满了点,但有时(很less)我得到这个
....................................................................... ....................................................................... ....................................................................... ....................................................................... ....................................................................... ..............ssh: connect to host SERVER port 22: Connection refused 1323454879 ssh: connect to host SERVER port 22: Connection refused 1323454879 ssh: connect to host SERVER port 22: Connection refused [snip] 1323454879 ssh: connect to host SERVER port 22: Connection refused 1323454879 ssh: connect to host SERVER port 22: Connection refused ....................................................................... ....................................................................... ....................................................................... ....................................................................... .......................................................................
我试着用不同的服务器提供商,源服务器,目标服务器,一天中的时间,地理位置。 迟早会出现一两秒钟的错误。
这是预料还是我有问题?
这可能不是exception的行为,但有些可以预料的事情。
你可能想检查:
防火墙规则
反暴力工具
sshconfiguration
防火墙规则可以限制SSH连接的速率。 我在许多基于iptables的防火墙中使用这个来扼杀powershell的SSH攻击。 这些规则限制了新连接到指定端口的数量。
有一些工具,如fail2ban,denyhosts和其他可能会阻止访问的尝试。
最后,SSH的configuration(sshd_config)可能具有指定的最大服务器数量。 如果你正在迅速触及SSH,你可能会达到这个限制。
此错误意味着目标服务器可以访问,但端口22已closures(SSH守护程序未运行或在非默认端口上运行)。
另一种可能性是,您和目标服务器之间有一个防火墙,用于将端口22转换为目标服务器上未打开的其他目标服务器。
你没有说你是否总是在同一台服务器上得到这个错误。