如何防止 autossh 偶尔卡住?

如何防止 autossh 偶尔卡住?

我正在使用autossh它构建反向 ssh 隧道,但有时隧道会停止工作,我需要终止 autossh 并重新启动它。

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 public.example.com &

autossh 似乎处于一种奇怪的状态,转发端口仍然打开,但你没有收到对方的响应。通过重新启动 autossh 可以解决这个问题。

我怎样才能防止这个问题发生?

答案1

使用ServerAliveInterval(以秒为单位的值)使ssh 客户每隔一段时间通过加密通道发送一个空(保持活动)数据包,以检测断开的连接:

/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 -o ServerAliveInterval=30 public.example.com &

您可能还应该ClientAliveInterval/etc/ssh/sshd_config您的服务器使服务器也断开客户端连接:

# Drop dead client connections after 10 minutes of inactivity
ClientAliveInterval 600

相关内容