后台链接的 ssh 隧道立即断开

后台链接的 ssh 隧道立即断开

我正在尝试建立以下链式 ssh 隧道:

ssh -A -t gatewayuser@gatewayserver 'ssh -N -A -t -R 55520:127.0.0.1:55520 user@dbserver' &

这是 shell 脚本的一部分,我希望在后台建立隧道,以便 shell 脚本可以继续执行其正在执行的操作。shell 脚本还使用:

trap 'kill $(jobs -p)' EXIT

退出时终止所有子进程。

当上述 ssh 运行时,会建立一个进程,但似乎链接的反向隧道会立即断开(即,dbserver 上没有任何内容监听 55520)。我该如何在上述要求内做到这一点?

答案1

ssh似乎检测到由于在后台启动而缺少的用户输入,然后自行暂停,这-t没有帮助。

您可以让它从 stdin 读取,例如通过ssh [...] < /dev/null &或可能/dev/zero

相关内容