消除 macOS 和 Ubuntu VM 之间的 SSH 超时

消除 macOS 和 Ubuntu VM 之间的 SSH 超时

我在 Mac 上使用 ssh 和 Microsoft VS Code(最新 Ventura)连接到我的 Ubuntu VM(最新 22.04)。但是,我不断收到不活动超时(我相信这是来自 macOS 方面):

client_loop:发送断开连接:管道损坏

我的 Ubuntu sshd_config 包含:

TCPKeepAlive yes
ClientAliveInterval 30
ClientAliveCountMax 5

我的 macOS ~/.ssh/config 包含:

TCPKeepAlive no
ServerAliveInterval 30
ServerAliveCountMax 5

但这似乎没有帮助。

关于设置上述值的帖子有数百万条,我相信我已经尝试了所有合理的排列但都无济于事。

我怎样才能永久保持连接?

答案1

您可以尝试以下几种方法来解决遇到的不活动超时问题:

首先,尝试在客户端和服务器上将 TCPKeepAlive 选项设置为 yes。此选项允许操作系统发送 keepalive 消息以确保连接仍然处于活动状态。

您还可以尝试增加客户端和服务器上的 ClientAliveInterval 和 ServerAliveInterval 值。这些值决定了发送保持活动消息的频率。增加这些值可能有助于防止不活动超时。

如果上述建议不起作用,您可以尝试在客户端的 ~/.ssh/config 文件中添加以下选项:

服务器存活间隔 60

这将导致客户端每 60 秒向服务器发送一次保持活动消息。

如果您仍然遇到不活动超时,则可能是网络问题导致连接断开。在这种情况下,您可能需要联系网络管理员以获得进一步的帮助。我希望这些建议有助于解决您遇到的问题。如果您有任何其他问题,请告诉我。

相关内容