通过 SSH 代理 curl HTTPS

JAR*_*ans 5 ssh proxy curl

我希望下面的 curl 命令从我的机器上运行,但是通过远程代理服务器。

卷曲“ https://site.fake/ping

但是,我希望它始终通过远程代理服务器工作。

我试图用 ssh 隧道设置它:

sudo ssh -i ~/.ssh/private_key_file -L 443:site.com:443 username@remote.proxy.com
Run Code Online (Sandbox Code Playgroud)

但这并没有奏效,在 osx 下运行。

有什么建议?

nba*_*ari 16

尝试使用socks5代理,例如:

$ ssh -D 8080 -f -C -q -N user@remote.host
Run Code Online (Sandbox Code Playgroud)
  • -D 8080 告诉 ssh 在本地端口 8080 上启动 SOCKS 服务器。
  • -f 将进程分叉到后台。
  • -C 在发送之前压缩数据。
  • -q 使用安静模式。
  • -N 告诉 SSH 一旦隧道启动就不会发送任何命令。

然后你可以这样使用curl

curl -x socks5h://0:8080 https://example.com
Run Code Online (Sandbox Code Playgroud)

  • 您可以运行“ssh -O exit user@remote.host”来终止 ssh 会话 (3认同)