关于SSH自动断线\掉线的理论说明 ZZ
http://hi.baidu.com/minmin7654321/blog/item/d82cd583dc64dab00cf4d29b.html
可能大家在使用过程中遇到过SSH自动断线\掉线的情况,我们在这里做一个分析说明。 总结起来,SSH断线有3种常见原因: 1.帐号密码错误。 在连接过程中不断的断线,myentunnel颜色由黄到绿再到红,如此反复几次,并在右下角弹出一个错误提示。 大家打开myentunnel,在日志(状态)选项里可以看到“Too many authentication failures for XXX” 这时候您就得检查您输入的SSH帐号,密码是否正确了。如果您是直接复制的密码,请小心不要复制了空格。另外请注意:SSH帐号不是您注册时的邮箱,而是在注册并开通SSH帐号之后,在“我的SSH”页面查询到的那个帐号。 2.空闲超时断线。 如果您一直连着服务器,但在很长时间没有任何通过SSH代理服务器传输的数据,服务器将会自动断开您的连接,这时候您只需重新连接即可。这是一个正常现象,而且也是保护您的帐号安全,以及我们的服务器的持久稳定的一个措施。 3.服务器故障 如果您遇到Connection timed out,那99%的情况下是我们的服务器暂时出现了故障。请及时到【客服中心】反馈问题。 |
最近工作时经常要同时维护 3 台 Ubuntu 的主机,但当 SSH Client 窗口在几分钟没有键盘操作的时候,会话就会超时断线,特别对于 SFTP 管理时会更加烦躁 :(
找了一些关于 SSH Server 的资料,发现通过修改 sshd 的配置文件,能够让 SSH Server 发送“心跳”信号来维持持续连接,下面是设置的内容
打开服务器 /etc/ssh/sshd_config,我在最后增加一行
ClientAliveInterval 60
ClientAliveCountMax 1
这样,SSH Server 每 60 秒就会自动发送一个信号给 Client,而等待 Client 回应,(注意:是服务器发心跳信号,不是客户端,这个有别于一些 FTP Client 发送的 KeepAlives 信号哦~~~),如果客户端没有回应,会记录下来直到记录数超过 ClientAliveCountMax 的值时,才会断开连接。