在重新启动时连接 SSH 隧道?

Dar*_*age 9 ssh reboot autostart autossh

如果我的本地主机出现故障,我如何重新建立隧道?

我有 2 台机器,Remotehost 和 localhost,在我的本地主机上,我正在运行 autossh 以在出现网络问题时保持隧道处于活动状态。

autossh -M 20000 -L 3300:192.168.2.101:3306 -R 3000:192.168.1.3:3000 disp@192.168.2.100 -p 80
Run Code Online (Sandbox Code Playgroud)

但是如果我需要重新启动本地主机怎么办?那么我如何自动重新连接隧道?

小智 14

将建立隧道的命令放在启动时执行的某个脚本中。您可以使用/etc/rc.local,您可以在/etc/init 或/etc/init.d 中编写您自己的init 脚本,或者更优雅地,您可以在/etc/network/if-up.d 中编写一个脚本. 最后一个选项在网络接口出现后执行脚本。


sor*_*rin 9

另一个简单的选择是添加@reboot autossh ... &/etc/cron.d/autossh

  • 这将如下所示:`@reboot autossh -f -nNT -R 3269:host-providing:3269 firewalled-host &` (2认同)
  • 无需在末尾添加“&”,-f 已将命令置于后台 (2认同)