
我有一個 bash 腳本,可以自動配置代理設定。我在文件中創建了一些別名.bash_aliases
。現在,我可以透過一個命令 ssh 進入遠端伺服器並執行一些動態連接埠轉發,並實質上建立一個襪子代理。所以我需要相應地配置我的代理設定。
該指令如下圖所示:
proxy off && ssh -D <port> <username>@<hostaddress>
我已經為上述命令添加了別名,當我在終端中輸入別名時,我已成功連接到遠端伺服器。然而,完成此操作後,我需要在新的終端視窗中執行另一個命令來配置我新建立的襪子代理程式。基本上我只需要運行:
proxy socks #It configures my laptop to use the socks proxy
我無法在同一個終端機視窗中執行此操作,並且只能&&
在 ssh 命令之後執行此操作,因為這意味著我正在嘗試在遠端伺服器上執行該命令。我想在我的筆記型電腦上運行這個命令。
有什麼方法可以在新的終端機視窗中以單行方式運行第二個命令,就像我們通過管道或不同的命令一樣?每次我ssh 進入遠端伺服器時,在終端機中打開一個新選項卡,這樣我就可以輸入一個命令來配置我的代理,然後關閉該選項卡,因為我不再需要它了,這確實效率很低。
答案1
試試像這樣:
port=1234
remote=username@host
proxy off && ssh -fND $port $remote && proxy socks
此-f
標誌指示ssh
進入後台,並-N
指示不執行命令,僅轉送連接埠。這樣您就可以繼續在目前終端機中工作。