macOS 下使用终端连接 SSH 远程主机空闲一段时间就会断开连接或者进入假死状态,无法操作。原因是终端没有设置心跳连接,终端连接一段时间后无法检测到心跳就会断开连接。
修改 SSH 客户端配置文件
-
编辑配置文件:
打开终端,并编辑 SSH 客户端配置文件:
sudo vim /etc/ssh/ssh_config
如果你使用的是 macOS 的较新版本,这个文件可能默认是空的,或者只包含一些注释。
-
添加或修改以下配置:
在 Vim 中,文件最初是以命令模式打开的,你需要按 i
键进入插入模式,以便编辑文件。
在插入模式下,添加或修改以下配置:
ServerAliveInterval 60
ServerAliveCountMax 0
ServerAliveInterval 60
: 表示客户端每 60 秒发送一次心跳包,以确保连接保持活跃。ServerAliveCountMax 0
: 将此值设置为 0
,表示客户端将无限次发送心跳包,不会因心跳包无响应而断开连接。
3. 保存并退出 Vim
在编辑完成后,按 Esc
键退出插入模式。
然后输入以下命令保存并退出 Vim:
:wq
这时,配置文件已保存,修改已生效。你可以通过新开一个终端窗口,连接远程服务器,来测试配置是否成功保持 SSH 连接不断开。