在使用MacBook的终端进行SSH连接时,自动断开连接通常是因为网络闲置导致的。为了防止这种情况,你可以设置SSH以发送定期的心跳信号或“保活”信号,来保持连接活跃。这可以通过两种主要方法实现:

1. 修改本地 SSH 配置

编辑或创建你的用户目录下的 SSH 配置文件 ~/.ssh/config,然后添加以下配置:

Host *
  ServerAliveInterval 60
  ServerAliveCountMax 120

这里的配置意味着:

  • ServerAliveInterval 60: 每60秒向服务器发送一次信号,以保持连接活跃。
  • ServerAliveCountMax 120: 如果连接失败,尝试重新连接的最大次数。

你可以根据需要调整这些值。

2. 直接在 SSH 命令中设置

当你建立SSH连接时,可以直接在命令行中添加参数来设置这些值。例如:

ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=120 user@host

这与在配置文件中设置相同的选项具有相同的效果。

其他注意事项

  • 网络质量: 确保你的网络连接稳定。不稳定的网络连接也可能导致SSH会话断开。
  • 服务器设置: 服务器端也有类似的设置(如 ClientAliveIntervalClientAliveCountMax),但这需要服务器管理员进行配置。
  • 保持活跃的工具: 如果不想修改配置文件,可以使用如 tmuxscreen 等工具来保持会话活跃。这些工具允许在断开连接后重新连接到同一个会话。

通过这些方法,你应该能够减少因网络闲置而导致的SSH自动断开连接的情况。