從目前網上的資料來看,通過代理來連接ssh有2種方式:
- 一種是用Corkscrew實現http代理隧道連接,corkscrew官方主頁;
- 另外一種是利用connect能實現Sock5和http代理隧道連接,connect官方主頁(connect項目現已撤出,詳細介紹請看:點這里)。
先來介紹一下Corkscrew:
1.解壓並編譯安裝:
https://pkgs.org/download/corkscrew 下載deb軟件包地址
安裝deb軟件包 dpkg -i xxx.deb
wget http://www.agroman.net/corkscrew/corkscrew-2.0.tar.gztar -xzvf corkscrew-2.0.tar.gz cd corkscrew ./configure make install
2.添加配置到ssh用戶目錄,/root/.ssh/config (編輯該配置文件)寫入:
Host * ProxyCommand corkscrew http-proxy.example.com 8080 %h %p
注意http-proxy.example.com為http代理地址(例如proxy.cmcc或者ip)根據實際更改,后面的8080為http代理端口。
如果HTTP代理需要用戶名/密碼驗證,則需要寫上代理驗證文件。假設代理服務器是192.168.0.1:808。用戶名密碼是name:pass,打算存放在~/.ssh/proxyauth。則有
ProxyCommand corkscrew 192.168.0.1 808 %h %p ~/.ssh/proxyauth
新建/roo/.ssh/proxyauth文件,寫上:
name:pass
接下來就可以直接連接了:
ssh root@112.33.9.154 -p 22
在第二次登錄時就可看到上次登錄ip,從而判斷是否是通過代理連接了。
參考:
http://www.cnblogs.com/JoJosBizarreAdventure/p/5892355.html
http://bolg.malu.me/html/2011/1809.html
http://blog.csdn.net/asx20042005/article/details/7041294