场景 5
- externo2 $ vncviewer externo1::7900
来连接到 interno1 节点上的 VNC 办事。
除了将 IP 指定为 0.0.0.0 之外,我们还可以应用参数 -g(许可长途机械应用本地端口转发),完全敕令如下:
这条敕令与前面的敕令能实现雷同效不雅:
- externo1 $ ssh -L 0.0.0.0:7900:localhost:5900 user@interno1
换句话说,如不雅我们想限制只能连接到体系上的某个 IP,可以像下面如许定义:
- externo1 $ ssh -L 192.168.24.80:7900:localhost:5900 user@interno1
- externo1 $ netstat -ltn
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State
- ...
- Tcp 0 0 192.168.24.80:7900 0.0.0.0:* LISTEN
- ...
场景 3
在 interno1 上拜访由 externo1 供给的 TCP 办事(长途端口转发 / 绑定地址 = localhost / 主机 = localhost)
在场景 1 中 SSH 办事器与 TCP 办事(VNC)供给者在同一个节点上。如今我们想在 SSH 客户端地点的节点上,供给一个 TCP 办事(VNC)供 SSH 办事妒攀来拜访:
SSH Tunnels: Scenario 3
将筹划 1 中的敕令参数由 -L 调换为 -R。
完全敕令如下:
- externo1 $ ssh -R 7900:localhost:5900 user@interno1
然后我们就能看到 interno1 节点上对 7900 端口正在监听:
- interno1 $ netstat -lnt
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State
- ...
- Tcp 0 0 127.0.0.1:7900 0.0.0.0:* LISTEN
- ...
如今在 interno1 节点上,我们可以应用如下敕令来拜访 externo1 上的 VNC 办事:
我们在接下来的内容中并不评论辩论端口转发的细节,而是预备介绍一个若何应用 OpenSSH 来完成 TCP 端口转发的速查表,个中包含了八种常见的场景。有些 SSH 客户端,比如 PuTTY,也许可经由过程界面设备的方法来实现端口转发。而我们侧重存眷的是经由过程 OpenSSH 来实现的的方法。
场景 4
interno2 应用 externo1 上供给的 TCP 办事(远端端口转发 / 绑定地址 = 0.0.0.0 / 主机 = localhost)
与场景 3 类似,然则如今我们测验测验指定许可拜访转发端口的 IP(就像场景 2 中做的一样)为 0.0.0.0,如许其他节点也可以拜访 VNC 办事:
SSH Tunnels: Scenario 4
精确的敕令是:
- externo1 $ ssh -R 0.0.0.0:7900:localhost:5900 user@interno1
然后我们就可以在 interno2 节点上应用 VNC 办事了:
然则这里有个重点须要懂得,出于安然的原因,如不雅我们直接履行该敕令的话可能不会生效,因为我们须要修改 SSH 办事端的一个参数值 GatewayPorts,它的默认值是:no。
GatewayPorts
该参数指定了长途主机是否许可客户端拜访转发端口。默认情况下,sshd(8) 只许可本机进查拜访转发端口。这是为了阻拦其他主机连接到该转发端口。GatewayPorts 参数可用于让 sshd 许可长途转发端口绑定到非回环地址上,大年夜而可以让长途主机拜访。当参数值设置为 “no” 的时刻只有本机可以拜访转发端口;“yes” 则表示许可长途转发端口绑定到通配地址上;或者设置为 “clientspecified” 则表示由客户妒攀来选择哪些主机地址许可拜访转发端口。默认值是 “no”。
推荐阅读
比来,我听到了大年夜量的关于新出的 .NET Core 和其机能的评论辩论,尤其在 Web 办事方面的评论辩论更甚。本周一(8 月 14 日),微软宣布 .NET Core 2.0 版本,是以,我预备开端。您们认>>>详细阅读
本文标题:通过SSH实现TCP/IP隧道(端口转发):使用OpenSSH可能的8种场景
地址:http://www.17bianji.com/lsqh/37757.html
1/2 1