Mac下ssh到Linux服务器自动断开无响应问题的解决

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服务器,推荐方法二

文章目录
,