Ssh

SSH over Socks 代理,無需使用者名或密碼

  • May 14, 2013

我有一個來自這個站點的 SOCKS 代理伺服器列表。

我讀過關於創建動態隧道的文章,ssh -D老實說我已經嘗試過了。不幸的是,由於某種原因,我無法連接到列表中的任何代理伺服器。

OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k在 BackTrack 上使用。如果有人願意提供幫助或指出對我有用的分步指南,我將不勝感激。

我想要實現的是通過 Machine to Machine上的Assh 隧道從 Machine 連接。假設機器上的 sshd 正在偵聽埠 21,而機器代理正在偵聽埠 1080。B``C``C``B

附加問題:

我還想創建一個到 socks 代理伺服器的隧道,這將允許我在 Firefox 中設置 localhost:8080 作為代理,並允許我B使用機器BIP 地址從機器瀏覽網路。

在我看來,您需要一個 socks 客戶端,或者一個了解 socks 的 ssh 客戶端。-D是讓 ssh 成為 socks 伺服器/代理。

您可以使用 ssh undertsocks或其他 SOCKS 包裝器。或者將 ssh 的 ProxyCommand 與socator結合使用nc -X

ssh -o ProxyCommand='socat - socks:B:%h:21,socksport=1080' C

要擁有一個使用 SOCKS 伺服器發送 HTTP 請求的 HTTP 代理,您可以tinyproxy在 tsocks 下執行一個小型代理(如 )。

請注意,並非所有應用程序都可以很好地與tsocks依賴於 的包裝器或任何類似的包裝器配合使用LD_PRELOAD,但tinyproxy確實如此。

另請注意,您可能會遇到域名解析問題(取決於您是否希望在隧道的任一側解析名稱)。tsocks不能很好地遠端解析名稱。它可以工作的唯一方法是當您的名稱伺服器(in /etc/resolv.conf)可以從另一端訪問並且您正在使用 TCP 進行域解析(這tsocks可以嘗試強制執行,但根據我的經驗通常會失敗)。socksifyfromdante的 SOCKS 客戶端/伺服器在這種情況下工作得更好,因為它還包裝了解析函式,並且還可以使用一個不錯的小技巧來偽造名稱解析,以便可以使用 SOCKS 按名稱連接。

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