Linux
SSH 隧道在後台
我有一個期望 ssh 隧道連接正確執行的程序,我一直在使用以下命令:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -N &
我已經成功執行了 8 個月,最近我們的託管服務提供商不得不對硬體進行更改以更新我們的機器,並為我們的機器升級了適用於 Ubuntu 的新核心。它從 4.8.3-x86_64-linode76 變為 4.8.6-x86_64-linode78。
經過一堆故障排除後,我們不得不將命令更新為:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -fN
在研究 ssh 文件時 -f 參數
在命令執行之前請求 ssh 進入後台。如果 ssh 將要求輸入密碼或密碼,但使用者希望它在後台使用,這很有用。這意味著-n。在遠端站點啟動 X11 程序的推薦方法是使用 ssh -f host xterm 之類的方法。
在研究“&”的 bash 命令時
將程序置於後台(參見“UNIX 作業系統的中級使用”中的多任務處理)。
這兩個命令有根本區別嗎?
就在這裡。從一開始就在後台
ssh &
執行。在前台啟動,允許它提示輸入密碼等,然後才在執行請求的命令之前將自己置於後台。ssh``ssh -f``ssh``ssh