我有,像这样在重新启动时启动一个反向的SSH隧道主机:反向SSH隧道无法绑定到端口时,隧道将被拆除并重新启动
ssh -N -R 2222:localhost:22 [email protected]
它的伟大工程,形成反向隧道。但每当我重新启动主机,该隧道是建立在远程服务器上这样说:
Sep 28 13:13:59 kali sshd[4547]: error: bind: Address already in use
Sep 28 13:13:59 kali sshd[4547]: error: channel_setup_fwd_listener_tcpip: cannot listen to port: 2222
为了让我解决此我不得不等待几分钟,老SSH隧道超时,然后找到新的SSH连接并杀死它,然后当我重建SSH隧道它工作正常。
是否有ssh
命令或autossh
命令执行类似于检查远程主机是否可以绑定该端口的命令,如果不是,请在几秒钟后重试?
你可以'while/bin/true;做ssh -N ...;完成“ - 只要隧道失败,这将重新启动ssh进程。无论何时重启服务器 - 这是否意味着正常的重置或重启?如果是优雅的话,尝试在重新启动之前使用'TERM'信号终止ssh客户端(应该自动完成,但可能不会发生) – Misko
ssh连接已建立,但无法打开远程服务器上的端口2222 。我希望隧道不能建立,如果它不能绑定到该端口。我正在进行平稳的重启。 –