在客户端使用 ssh 连接到服务器后,如果长时间没有操作,连接会自动断开并给你返回 Broken pipe 的信息
如何保持 ssh 的连接?
可以从客户端或者服务端入手解决,但本质上还是使用心跳包来刺激连接
在服务端,在文件 /etc/ssh/sshd_config
中添加配置,需要管理员权限
ClientAliveInterval 60
ClientAliveCountMax 1
ClientAliveInterval
秒发送一个信号到客户端,并等待客户端响应ClientAliveCountMax
后,则断开连接最后,重启 ssh 服务
sudo service ssh restart
在客户端,在文件 /etc/ssh/sshd_config
中添加配置
TCPKeepAlive yes
ServerAliveInterval 300
ServerAliveCountMax 3
TCPKeepAlive
决定是否发送心跳包保持连接ServerAliveInterval
秒向服务器发送数据包,表示要保持连接ServerAliveCountMax
后,则断开连接