如何在 Ubuntu 终端中为 SFTP 设置代理

如何在 Ubuntu 终端中为 SFTP 设置代理

我使用以下命令为 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 的选项中。– 无论是使用命令行中的ProxyCommandssh选项还是使用配置文件,您都可以根据自己的喜好选择。-o~/.ssh/config

一个常见的 HTTP 代理客户端是proxytunnel,它可以用作:

Host *
    ProxyCommand "proxytunnel -p xxx.xx.xx.xx:8080 -d %h:%p"

如果您需要 HTTPS 来访问代理本身,请将-E选项添加到 proxytunnel(而不是 ssh)。

(通常是http: 或者 https:,除非它们位于不同的端口上——您最初在同一个端口 8080 上以两种方式使用它的示例似乎有点奇怪。您如何访问代理本身与您通过代理隧道传输的内容是分开的。)

相关内容