如不雅我们没有修改办事器设备的权限,我们将不克不及应用该筹划来进行端口转发。这是因为如不雅没有其他的限制,用户可以开启一个端口(> 1024)来监听来自外部的请求并转发到 localhost:7900。
参照这个案例:netcat ( Debian # 310431: sshd_config should warn about the GatewayPorts workaround. )
所以我们修改 /etc/ssh/sshd_config,添加如下内容:
SSH Tunnels: Scenario 5
- GatewayPorts clientspecified
然后,我们应用如下敕令来重载修改后的设备文件(在 Debian 和 Ubuntu 上)。
- sudo /etc/init.d/ssh reload
我们确认一下如今 interno1 节点上存在 7900 端口的监听法度榜样,监听来自不合 IP 的请求:
- interno1 $ netstat -ltn
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State
- ...
- Tcp 0 0 0.0.0.0:7900 0.0.0.0:* LISTEN
- ...
- interno2 $ internal vncviewer1::7900
在 externo1 上应用由 interno2 供给的 TCP 办事(本地端口转发 / 绑定地址 localhost / 主机 = interno2 )

在这种场景下我们应用如下敕令:
- externo1 $ ssh -L 0.0.0.0:7900:interno2:5900 user@interno1
- externo1 $ ssh -L 7900:interno2:5900 user@interno1
然后我们就能在 externo1 节点上,经由过程履行如下敕令来应用 VNC 办事了:
- externo1 $ vncviewer localhost::7900
场景 6
或者:
在 interno1 上应用由 externo2 供给的 TCP 办事(长途端口转发 / 绑定地址 = localhost / host = externo2)

SSH Tunnels: Scenario 6
在这种场景下,我们应用如下敕令:
- externo1 $ ssh -R 7900:externo2:5900 user@interno1
然后我们可以在 interno1 上经由过程履行如下敕令来拜访 VNC 办事:
- interno1 $ vncviewer localhost::7900
场景7
在 externo2 上应用由 interno2 供给的 TCP 办事(本地端口转发 / 绑定地址 = 0.0.0.0 / 主机 = interno2)

SSH Tunnels: Scenario 7
本场景下,我们应用如下敕令:
- externo1 $ ssh -g -L 7900:interno2:5900 user@interno1
然后我们就可以在 externo2 上履行如下敕令来拜访 vnc 办事:
- externo2 $ vncviewer externo1::7900
场景 8
在 interno2 上应用由 externo2 供给的 TCP 办事(长途端口转发 / 绑定地址 = 0.0.0.0 / 主机 = externo2)

SSH Tunnels: Scenario 8
本场景下我们应用如下敕令:
- externo1 $ ssh -R 0.0.0.0:7900:externo2:5900 user@interno1
SSH 办事器须要设备为:
推荐阅读
比来,我听到了大年夜量的关于新出的 .NET Core 和其机能的评论辩论,尤其在 Web 办事方面的评论辩论更甚。本周一(8 月 14 日),微软宣布 .NET Core 2.0 版本,是以,我预备开端。您们认>>>详细阅读
本文标题:通过SSH实现TCP/IP隧道(端口转发):使用OpenSSH可能的8种场景
地址:http://www.17bianji.com/lsqh/37757.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示