Ssh

ssh.........sleep 3(使用 sshpass)永遠不會關閉

  • September 27, 2016

我以程式方式打開一個 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它會等待被殺死。

引用自:https://unix.stackexchange.com/questions/312632