Ubuntu
使用 ssh 和 corkscrew/proxychains 作為 HTTP 代理
我正在查看的 Ubuntu 盒子位於支持 CONNECT 到 80/443 埠的代理後面。我已經在埠 443 上設置了一個外部 ssh 伺服器,並且可以使用 corkscrew / ssh 連接到它而沒有任何問題
ssh_config:
Host * ProxyCommand corkscrew corp.proxy.ip 8080 %h %p
啟動ssd的命令行:
ssh -D 1080 username@external-host.com -p 443
所以正如我所說,這一切都很好。問題在於,應該打開 SOCKS 代理的 -D 參數並不能很好地工作。
當我執行代理鏈時,我得到了:
user@laptop:$ proxychains git pull ProxyChains-3.1 (http://proxychains.sf.net) random chain (1):....127.0.0.1:1080....can't connect to..corp.proxy.ip:8080
因此,出於某種原因,它似乎再次啟動了與代理的連接。
類似的設置在 Windows 機器(Bitvise Tunneller/Freecap)上工作得很好,所有的隧道工作都很好。
我已經嘗試過:
- 使用 -D 啟動 ssh,在配置中有代理
- 註釋代理,而 (1) 仍在執行
- 執行代理鏈
這次 ssh 沒有嘗試連接代理,連接正常,但是每次來回編輯配置幾乎不是一個解決方案。
那麼任何想法如何正確修復?
謝謝!
解決方案畢竟很簡單:只在第一次需要建立隧道時讓 ssh 連接到代理:
ssh_config:
Host external-host.com ProxyCommand corkscrew corp.proxy.ip 8080 %h %p
這很酷。
謝謝大家收看:)