Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Curl 如何通过SSH主机发送请求 简介_Curl_Ssh_Postman - Fatal编程技术网

Curl 如何通过SSH主机发送请求 简介

Curl 如何通过SSH主机发送请求 简介,curl,ssh,postman,Curl,Ssh,Postman,我在一台机器a,中间有一台机器()名为B,还有一台“外部”机器C。因为我不能直接连接C,但是我可以用ssh登录到B 现在,我将首先ssh登录到B,然后从B发送请求,例如: $ ssh myname@<ip_B> -p <port_B> myname@<ip_B>'s password: Last login: Tue Aug 7 10:14:21 2018 from ... 问题: 我想知道是否可以使用B作为SSH主机,并直接使用curl从A发送请求 既

我在一台机器a,中间有一台机器()名为B,还有一台“外部”机器C。因为我不能直接连接C,但是我可以用ssh登录到B

现在,我将首先
ssh
登录到B,然后从B发送请求,例如:

$ ssh myname@<ip_B> -p <port_B>
myname@<ip_B>'s password:
Last login: Tue Aug  7 10:14:21 2018 from ...
问题:
  • 我想知道是否可以使用B作为SSH主机,并直接使用
    curl
    A发送请求
  • 既然我在用,邮递员有什么解决办法吗

    • 您可以使用隧道,类似这样的:

      $ ssh -N -L 8080:machine-C:80 machine-B
      
      选项
      -L
      将通过machine-B执行从端口8080(machine-a)到machine-C中端口80的本地端口转发

      然后从机器-A

      $ curl -H "host: example.com" 0:8080
      
      如果machine-C承载多个站点,您可能需要传递
      host
      标题

      一旦隧道开通,在《邮差》中你可以使用
      127.0.0.1:8080

      $ curl -H "host: example.com" 0:8080