由于很多服务器或防火墙会在 SSH 连接一段时间没有活动后,断开连接,很不方便,所以需要想办法保持连接。
一、修改 Server 端设置
通过修改服务端设置,以保证任何连接到服务器的客户端都能使用此设置。
sudo vi /etc/ssh/sshd_config
# Server 每隔 60 秒发送一次请求给 Client,然后 Client响应,从而保持连接
ClientAliveInterval 60
# Server发出请求后,客户端没有响应得次数达到 10,就自动断开连接,正常情况下,Client不会不响应
ClientAliveCountMax 10
sudo restart ssh
二、修改 Client 端设置
通过修改客户端设置,以保证连接所有服务器都使用此设置。
sudo vi /etc/ssh/ssh_config # 或 ~/.ssh/config
TCPKeepAlive=yes
# Client每隔 60 秒发送一次请求给 Server,然后 Server响应,从而保持连接
ServerAliveInterval 60
# Client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,Server 不会不响应
ServerAliveCountMax 3
三、使用命令行参数
用于只对个别连接使用设置的情况。
$ ssh -o ServerAliveInterval=60 user@sshserver
四、参考链接
(完)