Linux

後台 SSH 隧道(埠轉發)

  • January 6, 2022

我有一個命令將埠從我的電腦轉發到伺服器,如下所示:

ssh -L 8000:localhost:8888 myserver.com

我想在後台執行這個命令。我不需要輸入使用者名和密碼,因為我已經設置了公鑰。

我嘗試&在最後添加,如下所示: ssh -L 8000:localhost:8888 myserver.com& 但是,我收到以下錯誤:

[1]  + 30825 suspended (tty output)

我也試過nohup了,如下:

nohup ssh -L 8000:localhost:8888 myserver.com&
exit

但埠不轉發。

最後,我嘗試ssh -f了,如下:

ssh -L 8000:localhost:8888 myserver.com

而且,我收到以下錯誤:

Cannot fork into background without a command to execute.

我的目標是在不保持終端打開的情況下保持 ssh 連接在後台處於活動狀態。有什麼幫助嗎?

您提到ssh -f,這是正確的,但您錯過了-N,這是剩下的難題:

**-N**不要執行遠端命令。這對於僅轉發埠很有用。

$$ … $$

很近!嘗試這個

ssh -fN -L 8000:localhost:8888 myserver.com

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