使用 ssh 本地端口转发处理断管问题

使用 ssh 本地端口转发处理断管问题

我的服务器位于仅公开端口 22 的防火墙后面。我经常使用 SSH 本地端口转发来访问服务器上运行的多个 HTTP 服务。它有效,但并不总是有效。有时我会收到一条错误消息packet_write_wait: Connection to XXX.XXX.XXX.XXX port 22: Broken pipe,我必须重新启动 SSH 连接才能再次工作。

ServerAliveInterval在配置文件中设置为 30。另外,我经常打开多个独立的ssh进程,并转发不同的端口。当其中一个坏了,其他的仍然可以工作,所以我认为网络连接本身应该是正常的。

如果有任何用处,我的客户端运行在 macOS High Sierra,服务器运行的是 Ubuntu 16.04。

问题的原因可能是什么?我可以有哪些潜在的解决方案?

答案1

如果这是一个 ssh 连接,那么您可能需要确保向服务器发送一条 keepalive 消息。

相关内容