SSH连接超时
timed out waiting for input: auto-logout
一般是由于设置了TMOUT环境变量所致,此变量可设置于:/etc/profile,/etc/bashrc,~/.bashrc,~/.bash_profile等文件中。
可以通过在当前会话执行env|grep TMOUT
查看当前生效值。
注释此设置以避免连接超时。
也可能是由于网络中断、防火墙或网络安全策略导致,咨询网络和安全相关部门即可。
packet_write_wait: Connection to x.x.x.x port 22: Broken pipe
同样的,此错误出现在会话因网络问题或长时间空闲而断开时。
可以在客户端的/etc/ssh/ssh_config中设置如下参数:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
或设置如下alias:
alias ssh='ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3'
这里的ServerAliveInterval表示每隔60s发送一个活动信号,ServerAliveCountMax表示探活失败3次(120s-180s)后可断开。
FAQ
1. 同样的配置为何不同系统版本表现不一样?
在CentOS 6版本中,/etc/ssh/ssh_config默认内容并不显式的包含Alive相关参数,但ssh时依然默认会进行探活。
而CentOS 7则必须显式的配置相关参数,这与CentOS 6的表现不同,应该与OpenSSL的版本变动有关。
建了一个数据库和编程的交流群,用于交流和提升能力,目前主要专注于Golang/Java/Python以及TiDB数据库,群号:231338927,建群日期:2019.04.26。
如发现博客错误,可直接留言指正,感谢。