Linux下实现自动设置SSH代理
SSH的巨大價值體現在能夠配置為代理服務器上。不像在Windows下每次還需要手動登錄設置,Linux有很好的工具鏈能夠實現自動設置SSH代理,就是expect和ssh的聯合使用,再加上proxychains,任何程序都可以享用代理了,在此我簡單介紹一下。
首先要安裝expect和openssh,如果沒有,Ubuntu下輸入apt-get install expect openssh-client即可安裝。接下來需要寫一段腳本:
#!/usr/bin/expect set timeout 60 spawn /usr/bin/ssh -D 本地端口 -g 用戶名@服務器 expect { "password:" { send "密碼\r" } } interact { timeout 60 { send " "} }把上面的中文替換成對應內容,保存為一個腳本文件,例如sshproxy.sh,然后給它執行權限,chmod +x sshproxy.sh。在終端下運行./sshproxy.sh,就會發現自動登錄到了服務器上,而且在本地建立了一個socks5代理。而且使用這段腳本還不用擔心會被踢,因為每60秒都要發送一個空格表示還在活動。如果把sshproxy.sh放到自動啟動,那么以后每次啟動都可以自動建立代理了。
這種方法建立的代理是socks5代理,在瀏覽器中很容易配置使用,但如果其他程序也想用它,而沒有代理功能,該怎么辦呢?在Windows下面的確不好辦(需要各種付費的、不穩定的代理轉換工具),而在Linux下一切很簡單,只需要一個名叫proxychains的工具。Ubuntu安裝方法為apt-get install proxychains。安裝完以后要設置/etc/proxychains.conf文件,刪除[ProxyList]后面的內容,然后添加
socks5 127.0.0.1 端口把“端口”替換為SSH代理設置的端口。然后在想要運行的程序前加上proxychains ,即可使用代理。例如輸入proxychains wget http://www.youtube.com -r,即可給wget設置SSH代理去下載。
正如其名,實際上proxychains是個代理鏈,我們可以設置多個代理,實現多級跳板連接。用在SSH代理上實在是大才小用了。
轉載于:https://www.cnblogs.com/tham/p/6827392.html
總結
以上是生活随笔為你收集整理的Linux下实现自动设置SSH代理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows_study_2
- 下一篇: [翻译]创建ASP.NET WebApi