作家
登录

通过SSH实现TCP/IP隧道(端口转发):使用OpenSSH可能的8种场景

作者: 来源: 2017-10-10 14:29:59 阅读 我要评论

场景 5

  1. externo2 $ vncviewer externo1::7900 

来连接到 interno1 节点上的 VNC 办事。

除了将 IP 指定为 0.0.0.0 之外,我们还可以应用参数 -g(许可长途机械应用本地端口转发),完全敕令如下:

这条敕令与前面的敕令能实现雷同效不雅:

  1. externo1 $ ssh -L 0.0.0.0:7900:localhost:5900 user@interno1 

换句话说,如不雅我们想限制只能连接到体系上的某个 IP,可以像下面如许定义:

  1. externo1 $ ssh -L 192.168.24.80:7900:localhost:5900 user@interno1 
  2. externo1 $ netstat -ltn 
  3. Active Internet connections (only servers) 
  4. Proto Recv-Q Send-Q Local Address Foreign Address State       
  5. ...   
  6. Tcp 0 0 192.168.24.80:7900 0.0.0.0:* LISTEN 
  7. ... 

场景 3

在 interno1 上拜访由 externo1 供给的 TCP 办事(长途端口转发 / 绑定地址 = localhost / 主机 = localhost)

在场景 1 中 SSH 办事器与 TCP 办事(VNC)供给者在同一个节点上。如今我们想在 SSH 客户端地点的节点上,供给一个 TCP 办事(VNC)供 SSH 办事妒攀来拜访:

SSH Tunnels: Scenario 3

将筹划 1 中的敕令参数由 -L 调换为 -R。

完全敕令如下:

  1. externo1 $ ssh -R 7900:localhost:5900 user@interno1 

然后我们就能看到 interno1 节点上对 7900 端口正在监听:

  1. interno1 $ netstat -lnt 
  2. Active Internet connections (only servers) 
  3. Proto Recv-Q Send-Q Local Address Foreign Address State       
  4. ...   
  5. Tcp 0 0 127.0.0.1:7900 0.0.0.0:* LISTEN 
  6. ... 

如今在 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

精确的敕令是:

  1. 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”。


  推荐阅读

  论HTTP性能,Go与.NET Core一争雌雄

比来,我听到了大年夜量的关于新出的 .NET Core 和其机能的评论辩论,尤其在 Web 办事方面的评论辩论更甚。本周一(8 月 14 日),微软宣布 .NET Core 2.0 版本,是以,我预备开端。您们认>>>详细阅读


本文标题:通过SSH实现TCP/IP隧道(端口转发):使用OpenSSH可能的8种场景

地址:http://www.17bianji.com/lsqh/37757.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)