通过EC2示例之间的SSH隧道使用socks代理时发生 curl 故障:“curl:(7)无法接收SOCKS5连接请求确认,”

cidc1ykv  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(927)

我在AWS中通过两个EC2示例之间的简单SSH隧道设置socks代理时遇到了curl问题。

box1 $ ssh -v -D 12345 ubuntu@box2 -N
[...]

socks代理在端口12345上似乎运行正常,现在我尝试通过它:

box1 $ curl -x socks5h://localhost:12345 www.google.com
curl: (7) Failed to receive SOCKS5 connect request ack.

回到ssh-D窗口,当我运行curl命令时出现这个错误:

debug1: Connection to port 12345 forwarding to socks port 0 requested.
debug1: channel 1: new [dynamic-tcpip]
channel 1: open failed: administratively prohibited: open failed
debug1: channel 1: free: direct-tcpip: listening port 12345 for www.google.com port 80, connect from 127.0.0.1 port 36240 to 127.0.0.1 port 12345, nchannels 2

有谁能解释一下这里发生了什么吗?

6jjcrrmo

6jjcrrmo1#

可能是因为域地址解析为IPv6,而您的socks5代理不支持此操作。
在这种情况下,curl --ipv4 ...将正常工作

相关问题