我以编程方式打开SSH隧道,并:
sshpass -p "my_password" ssh -fN -o StrictHostKeyChecking=no -o ExitOnForwardFailure=yes remote_user@remote_server.tld -L 13306:127.0.0.1:3306 sleep 3和预期的一样工作,但不关闭后,3秒的不活动。
我采用SSH并在连接完成后显式终止;但是我更喜欢sleep版本,如果可以自动关闭隧道的话。
与sshpass一起使用维护隧道打开,还是我做错了什么?
发布于 2016-09-27 11:24:37
你在用
-f请求ssh在执行命令之前转到后台。如果ssh想要密码或密码,这是有用的,但是用户希望它在后台。这意味着-n。在远程站点上启动X11程序的推荐方法是使用类似ssh -f主机xterm之类的内容。
和
-N不执行远程命令。这对于仅仅转发端口是有用的。
它在执行命令之前进入后台(该命令被抑制)。因此它停留在背景中。sleep永远不会运行,它会等待被杀死。
https://unix.stackexchange.com/questions/312632
复制相似问题