ssh到Linux服务器是很日常的操作,在Windows下使用Xshell等工具会自动发送心跳包保持ssh的正常链接,但是在Mac下如果直接使用ssh命令到Linux在长时间不操作的情况下,ssh会自动断开并且界面会卡着无响应,一段时间后才会回提示ssh已断开,非常影响操作体验,本篇记录如何通过ssh的配置来解决这个问题。
方法一
修改ssh本地配置
通过ssh到服务器的命令本质上是ssh的命令行客户端,配置文件位置在/etc/ssh/ssh_config
,通过root权限修改配置文件
sudo vi /etc/ssh/ssh_config
或通过其他方式修改文件,加入的配置内容如下:
...
# 可能存在的其他配置
Host *
...
# 可能存在的其他配置
# 每60秒向服务器发送一次心跳包来确定远程服务器是否正常链接
ServerAliveInterval 60
# 无响应2次后自动断开
ServerAliveCountMax 2
方法二
修改服务sshd服务配置
服务器之所以能被ssh链接是因为开启了sshd服务,而sshd服务的配置文件在/etc/ssh/sshd_config
,通过root权限修改配置文件
sudo vi /etc/ssh/sshd_config
或通过其他方式修改文件,加入的配置内容如下:
# 每60秒向连接自己的ssh客户端发送一次心跳包来确定ssh客户端是否已经断开
ClientAliveInterval 60
# 无响应3次后自动断开这个ssh链接
ClientAliveCountMax 3
总结
方法一和方法二类似,一个是配置客户端向服务器发送心跳包,一个是配置服务向客户端发送心跳包,方向相反。
配置客户端可以让本机到所有服务器的ssh连接都生效
配置服务器可以让连接接到本服务器的所有客户端都生效
如果你是一台Mac管理了多台Linux服务器,推荐方法一
如果你有多台Mac管理一台Linux服务器,推荐方法二