我有一台计算机和主机 A、B。主机 A 有互联网连接,主机 B 位于主机 A 的本地网络中。主机 B 在端口 8080 上有 Web 接口。我需要转发主机 A 上的端口。然后我想从互联网获取主机 A 上主机 B 的 Web 接口。
答案1
使用 ssh 通过公网 IP 地址访问主机 A 时:
ssh -L -f -N -T <local port>:<host B IP address>:8080 <host A public IP address>:<forwarded port>
这将为您设置隧道并在后台运行。然后,您可以打开浏览器并键入 或localhost:<local port>
,127.0.0.1:<local port>
它应该通过主机 A 到主机 B 建立隧道。
设置-L
从您用来访问主机 A 的公共 IP 的本地主机的转发。
告诉-f
ssh 在后台运行,因为您不需要交互式会话。
告诉-N
ssh 您没有要执行的远程命令,只有隧道。
禁用-T
伪终端的分配。
请注意,这假设您已正确设置防火墙来转发<forwarded port>
,这实际上并不是 ssh 问题。