多跳、自关闭、后台 SSH 隧道
Multi Hop, Self Closing, Background SSH Tunnel
我正在尝试创建一个多跳 ssh 隧道,该隧道位于后台并自动关闭。我有的是...
ssh -L 9999:localhost:9999 user@host1 -t ssh -L 9999:localhost:27017 -N
-i ./mypem.pem user@host2
这成功创建了一个多跳 ssh 隧道,在我关闭隧道后关闭了 host1 上的端口。但是,如果我尝试将它分叉到后台,就像这样...
ssh -f -L 9999:localhost:9999 user@host1 -t ssh -L 9999:localhost:27017
-N -i ./mypem.pem user@host2
它在后台运行,但在本地终止进程确实会在主机 1 上重新打开端口。
关于自关闭、多跳、后台 ssh 隧道的任何想法?谢谢!
对于自动关闭,可以使用一个简单的sleep X
命令。
$ ssh -f -L 9999:localhost:9999 user@host1 \
-t 'ssh -L 9999:localhost:27017 -i ./mypem.pem user@host2 "sleep 3600"'
请注意,这不使用 -N
选项,该选项用于 而不是 运行 命令,相反,我们 运行 命令 sleep 3600
。这会使隧道保持运行 1 小时,然后自动关闭。
我正在尝试创建一个多跳 ssh 隧道,该隧道位于后台并自动关闭。我有的是...
ssh -L 9999:localhost:9999 user@host1 -t ssh -L 9999:localhost:27017 -N
-i ./mypem.pem user@host2
这成功创建了一个多跳 ssh 隧道,在我关闭隧道后关闭了 host1 上的端口。但是,如果我尝试将它分叉到后台,就像这样...
ssh -f -L 9999:localhost:9999 user@host1 -t ssh -L 9999:localhost:27017
-N -i ./mypem.pem user@host2
它在后台运行,但在本地终止进程确实会在主机 1 上重新打开端口。
关于自关闭、多跳、后台 ssh 隧道的任何想法?谢谢!
对于自动关闭,可以使用一个简单的sleep X
命令。
$ ssh -f -L 9999:localhost:9999 user@host1 \
-t 'ssh -L 9999:localhost:27017 -i ./mypem.pem user@host2 "sleep 3600"'
请注意,这不使用 -N
选项,该选项用于 而不是 运行 命令,相反,我们 运行 命令 sleep 3600
。这会使隧道保持运行 1 小时,然后自动关闭。