通过 SSH 代理 curl HTTPS

标签 curl 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

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

有什么建议?

最佳答案

尝试使用 socks5代理例如:

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

  • 那么你可以使用 curl像这样:
    curl -x socks5h://0:8080 https://example.com
    

    关于通过 SSH 代理 curl HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51579063/

    相关文章:

    javascript - Azure 翻译 API - 限制客户端请求

    java - 在 windows java 中执行curl命令的等效命令是哪个?

    java - Ganymed SSH - 更改用户

    c# - SSH.NET : freeze upon sudo su - user2

    python - 如何让 Anaconda 在 HTTP 代理(不是 https)后面工作?

    linux - 直通代理到不同的 IP 地址

    php - cURL 在 POST 后更改 URL

    php - CURL 不保存 Cookie (PHP)

    php 运行 git 得到 "ssh Permission denied"

    php - 更好的写法?增速?