sshuttle:一個使用ssh的基于V*N的透明代理

jopen 9年前發布 | 9K 次閱讀 sshuttle

sshuttle 允許你通過 ssh 創建一條從你電腦連接到任何遠程服務器的 V*N 連接,只要你的服務器支持 python2.3 或則更高的版本。你必須有本機的 root 權限,但是你可以在服務端有普通賬戶即可。

你可以在一臺機器上同時運行多次 sshuttle 來連接到不同的服務器上,這樣你就可以同時使用多個 V*N, sshuttle可以轉發你子網中所有流量到V*N中。

sshuttle:一個使用ssh的基于V*N的透明代理

在Ubuntu中安裝sshuttle

在終端中輸入下面的命令

sudo apt-get install sshuttle 

使用 sshuttle

sshuttle 語法

sshuttle [options...] [-r [username@]sshserver[:port]] [subnets] 

選項細節

-r, —remote=[username@]sshserver[:port]

遠程主機名和可選的用戶名,用于連接遠程服務器的ssh端口號。比如example.com、testuser@example.com、testuser@example.com:2222或者example.com:2244。

sshuttle 例子

在機器中使用下面的命令:

sudo sshuttle -r username@sshserver 0.0.0.0/0 -vv 

當開始后,sshuttle會創建一個ssh會話到由-r指定的服務器。如果-r被丟了,它會在本地運行客戶端和服務端,這個有時會在測試時有用。

連接到遠程服務器后,sshuttle會上傳它的(python)源碼到遠程服務器并執行。所以,你就不需要在遠程服務器上安裝sshuttle,并且客戶端和服務器端間不會存在sshuttle版本沖突。

手冊中的更多例子

代理所有的本地連接用于本地測試,沒有使用ssh:

$ sudo sshuttle -v 0/0

Starting sshuttle proxy. Listening on (‘0.0.0.0′, 12300). [local sudo] Password: firewall manager ready. c : connecting to server... s: available routes: s: 192.168.42.0/24 c : connected. firewall manager: starting transproxy. c : Accept: ‘192.168.42.106':50035 -> ‘192.168.42.121':139. c : Accept: ‘192.168.42.121':47523 -> ‘77.141.99.22':443. ...etc... ^C firewall manager: undoing changes. KeyboardInterrupt c : Keyboard interrupt: exiting. c : SW#8:192.168.42.121:47523: deleting c : SW#6:192.168.42.106:50035: deleting </code></pre>

測試到遠程服務器上的連接,自動猜測主機名和子網:

$ sudo sshuttle -vNHr example.org

Starting sshuttle proxy. Listening on (‘0.0.0.0′, 12300). firewall manager ready. c : connecting to server... s: available routes: s: 77.141.99.0/24 c : connected. c : seed_hosts: [] firewall manager: starting transproxy. hostwatch: Found: testbox1: 1.2.3.4 hostwatch: Found: mytest2: 5.6.7.8 hostwatch: Found: domaincontroller: 99.1.2.3 c : Accept: ‘192.168.42.121':60554 -> ‘77.141.99.22':22. ^C firewall manager: undoing changes. c : Keyboard interrupt: exiting. c : SW#6:192.168.42.121:60554: deleting </code></pre>


via: http://www.ubuntugeek.com/sshuttle-a-transparent-proxy-based-V*N-using-ssh.html

作者:ruchi 譯者:geekpi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

來源: https://linux.cn/article-5528-1.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!