我正在查看的 Ubuntu 机器位于支持 CONNECT 到 80/443 端口的代理后面。我在端口 443 上设置了一个外部 ssh 服务器,可以使用 corkscrew / ssh 连接到它,没有任何问题
ssh_配置:
Host *
ProxyCommand corkscrew corp.proxy.ip 8080 %h %p
命令行启动ssd:
ssh -D 1080 [email protected] -p 443
所以正如我所说的,一切都运行正常。问题是 -D 参数(该参数应该打开 SOCKS 代理)不起作用。
当我运行 proxychains 时,我得到的是:
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 没有尝试连接代理,连接正常,但每次来回编辑配置几乎不是一个解决方案。
那么有什么想法可以正确修复吗?
谢谢!
答案1
解决方案毕竟很简单:仅当第一次需要建立隧道时才让 ssh 连接到代理:
ssh_配置:
Host external-host.com
ProxyCommand corkscrew corp.proxy.ip 8080 %h %p
这很酷。
谢谢大家观看:)