问题场景
服务器环境:CentOS 6.10
客户端:CentOS 6.10 Terminal
问题现象
用 ssh 命令连接服务器之后,如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就出现错误提示:
Write failed: Broken pipe
只能重新用 ssh 命令进行连接。
解决方法
方法一:如果您有多台服务器,不想在每台服务器上设置,只需在客户端的 ~/.ssh/ 文件夹中添加 config 文件,并添加下面的配置:
TCPKeepAlive yes # 保持链接
ServerAliveInterval 60 # 客户端主动向服务端请求响应的间隔
ServerAliveCountMax 6 # 尝试次数
方法二:如果您有多个人管理服务器,不想在每个客户端进行设置,只需在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
ClientAliveInterval 30 # 客户端每隔多少秒向服务发送一个心跳数据
ClientAliveCountMax 86400 # 客户端多少秒没有相应,服务器自动断掉连接
# 重启sshd服务
service sshd reload
如果还是不行,那有可能是两台服务器之间有(路由器/防火墙)给阻拦了。
详见另一篇文章: