两天前我通过 ssh 登录服务器,没有任何问题。今天我尝试了 3 次,但登录错误(简单的错误),它说登录错误,所以我检查并输入了正确的登录名。之后它就停止了,并返回连接超时。使用 -vvv 参数的完整输出:
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 194.29.169.1 [194.29.169.1] port 22.
debug1: connect to address 194.29.169.1 port 22: Connection timed out
ssh: connect to host 194.29.169.1 port 22: Connection timed out
更重要的是 - 我尝试返回这个错误的登录,但现在它给出的结果与正确的结果相同。
经过几个小时寻找解决方案(防火墙等)后,我尝试在 Windows(Putty)以及不同计算机上的 Windows 上建立连接,但结果相同。这表明这不是平台问题,而是由于网络而无法建立连接。正如我所想的那样 - 连接到我的移动热点后,我可以毫无困难地建立 ssh 连接。我请一位朋友登录他的平台和网络,他也成功了。
你知道这是什么原因造成的吗?
答案1
@钢铁司机一针见血:这是一个失败2ban(或类似)工具(暂时)阻止您的 IP 地址。
也许值得白名单您的 IP(但是,如果您采用非静态连接方式(例如,使用家用电缆调制解调器),则此方法无效;或者如果您的机器受到攻击,它可能会自动登录到远程设备并在其上运行恶意内容):
jail.conf
在文件中使用空格分隔的列表设置白名单。
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
或者
ignoreip = 127.0.0.1 192.168.1.0/24 8.8.8.8
# This will ignore connection coming from common private networks.
# Note that local connections can come from other than just 127.0.0.1, so
# this needs CIDR range too.
ignoreip = 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16