Linux

通過 SSH 從一個終端到另一個終端的代理連接

  • August 28, 2015

我有一個可以是 HTTP/SOCKS 的私有代理,我正在租用一個 Linode 伺服器,用於網路託管。

如果我使用 putty 之類的程序通過 SSH 連接到網路伺服器並執行who它將顯示目前會話和代理的 IP(因為我使用 putty 和代理設置)

但是,如果我在我的家用電腦上(執行 Kali)並且我通過 SSH 連接到網路伺服器,它將通過家庭 IP 顯示。

基本上我要問的是,我如何從家裡的 Linux 機器上 SSH 並讓它通過代理來完成?我知道 ProxyCommand 但我似乎無法讓它工作。

我自己花了一些時間和精力解決了這個問題,所以我在這裡發布我的解決方案,希望它能在未來節省一些時間。

ssh -o ProxyCommand="nc -X connect -x '<proxy ip>:<proxy port>' %h %p" root@<remote ip>

這是我現在用來通過我的代理 SSH 到我的伺服器的命令。如果您希望使用相同的命令,您可能必須執行: apt-get install netcat-openbsd為了使用 -X 參數執行 NC,因為標準安裝版本不包含它。

如果您的代理包括或需要身份驗證,那麼您可以使用 -P 選項為使用者名提供 nc。這將在嘗試連接時提示您輸入密碼。雖然我無法讓這部分工作,但它似乎不接受我的密碼。我只是將代理設置為接受來自我的 IP 的任何連接,而無需進行身份驗證。

希望這可以在將來節省一些時間。

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