Ssh
ssh.........sleep 3
(使用 sshpass)永遠不會關閉
我以程式方式打開一個 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 PID 並明確地終止;但我更喜歡這個
sleep
版本,如果可以自動關閉隧道。保持隧道打開的用途
sshpass
還是我做錯了什麼?
您正在使用
-f
在命令執行之前請求 ssh 進入後台。如果 ssh 將要求輸入密碼或密碼,但使用者希望它在後台使用,這很有用。這意味著-n。在遠端站點啟動 X11 程序的推薦方法是使用 ssh -f host xterm 之類的方法。
和
-N
不要執行遠端命令。這對於僅轉發埠很有用。
在執行命令(被抑制)之前進入後台。因此它停留在後台。永遠不會執行,
sleep
它會等待被殺死。