我试图创建一个多跳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隧道的任何想法?谢谢!
答案 0 :(得分:0)
对于自我关闭,可以使用简单的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小时并在此之后自行关闭。