我有 10 多个服务器,它们之间有一条隧道通往主服务器。不幸的是,这些服务器有时会断开连接,并且无法恢复。我的理解是,监控端口在网络中不需要是唯一的。我错了吗?
如果不是这个问题,我该如何调试?日志仅显示连接丢失。
答案1
autossh 的手册明确指出,如果您不需要它用于除了检查连接是否断开之外的其他目的,那么您不应该使用监控。
For example, if you are using a recent version of OpenSSH, you
may wish to explore using the ServerAliveInterval and
ServerAliveCountMax options to have the SSH client exit if it
finds itself no longer connected to the server. In many ways
this may be a better solution than the monitoring port.
因此,只需禁用自动 ssh 监控-M 0
并配置ServerAlive
选项(间隔 30,最大 3 是合理的默认值)。
您的下一个调试步骤(确保新的 sshd 配置已加载后)是检查服务器日志(sshd 可能会记录到/var/log/auth.log
)和详细的客户端日志(ssh -vvv -R port:ip:port master
在您的一台服务器上尝试类似的操作,看看连接丢失是否确实与网络无关)。