在 Ubuntu 终端使用 ssh 连接服务器,经常遇到长时间不进行操作,终端页面没反应,只能关闭重新打开,类似卡死的状态.
一种解决方式是使用 screen
工具,保持后台运行.
此外,还从网络上找到两种解决方案.
[1] - 方案一:服务器端(Server)操作
在服务器端编辑 sshd
的配置文件 - /etc/ssh/sshd_config
,在后面增加如下内容:
ClientAliveInterval 60
ClientAliveCountMax 1
其作用是:SSH Server 每 60秒就自动发送一个信号到客户端(Client),而等待 Client 回应.
[2] - 方案二:客户端(Client)操作
在客户端编辑 ssh
的配置文件 - /etc/ssh/ssh_config
(请注意与服务器端配置文件是不同的.),在后面增加如下内容:
TCPKeepAlive yes
ServerAliveInterval 300
其中,TCPKeepAlive yes
表示保持连接;ServerAliveInterval 300
表示每 300秒就自动发送一个数据包到服务器(Server).
如果没有 root 权限,可以修改或创建 ~/.ssh/ssh_config
文件,增加的内容如上一致.
或者,采用终端运行时添加参数的方式,如:
ssh -o TCPKeepAlive=yes -o ServerAliveInterval=300 username@IP