需要通过本地端口 9990 上的 SSH 隧道访问远程服务器上的端口 9999,以避免防火墙。
我正在使用此命令来建立 SSH 隧道:
ssh -N -i share.pem -L 9990:`ecshare`:9999 ubuntu@`ecshare`
Run Code Online (Sandbox Code Playgroud)
其中 ecmy 包含 ec2 实例的 ip。作为基准,我可以使用以下命令 ssh 并获取远程 shell:
ssh -i share.pem ubuntu@`ecshare`
Run Code Online (Sandbox Code Playgroud)
但是,当我在本地提示上尝试此操作时:
curl -i -X GET http://localhost:9990
Run Code Online (Sandbox Code Playgroud)
我在隧道启动的外壳上得到了这个:
channel 2: open failed: connect failed: Connection refused
Run Code Online (Sandbox Code Playgroud)
当我在远程 shell 上尝试此命令时:
curl -i -X GET http://localhost:9999
Run Code Online (Sandbox Code Playgroud)
...我得到了服务器的响应。
为什么连接被拒绝?