Ubuntu

使用 ssh 和 corkscrew/proxychains 作為 HTTP 代理

  • May 20, 2009

我正在查看的 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)上工作得很好,所有的隧道工作都很好。

我已經嘗試過:

  1. 使用 -D 啟動 ssh,在配置中有代理
  2. 註釋代理,而 (1) 仍在執行
  3. 執行代理鏈

這次 ssh 沒有嘗試連接代理,連接正常,但是每次來回編輯配置幾乎不是一個解決方案。

那麼任何想法如何正確修復?

謝謝!

解決方案畢竟很簡單:只在第一次需要建立隧道時讓 ssh 連接到代理:

ssh_config:

Host external-host.com
   ProxyCommand corkscrew corp.proxy.ip 8080 %h %p

這很酷。

謝謝大家收看:)

引用自:https://serverfault.com/questions/10195