我使用以下命令为 curl 和 wget 设置代理:
export http_proxy="http://xxx.xx.xx.xx:8080"
export https_proxy="https://xxx.xx.xx.xx:8080"
这些方法有效。所以我尝试了
export sftp_proxy="http://xxx.xx.xx.xx:8080"
export sftp_proxy="https://xxx.xx.xx.xx:8080"
但连接超时。
答案1
OpenSSH 不使用这些环境变量。要通过 HTTP CONNECT 代理建立 SSH 连接隧道,您需要找到专用的代理客户端并将其放入 OpenSSH 的选项中。– 无论是使用命令行中的ProxyCommand
ssh选项还是使用配置文件,您都可以根据自己的喜好选择。-o
~/.ssh/config
一个常见的 HTTP 代理客户端是proxytunnel
,它可以用作:
Host *
ProxyCommand "proxytunnel -p xxx.xx.xx.xx:8080 -d %h:%p"
如果您需要 HTTPS 来访问代理本身,请将-E
选项添加到 proxytunnel(而不是 ssh)。
(通常是http:
或者 https:
,除非它们位于不同的端口上——您最初在同一个端口 8080 上以两种方式使用它的示例似乎有点奇怪。您如何访问代理本身与您通过代理隧道传输的内容是分开的。)