- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SSH端口转发的概述与实例
端口转发概念
让我们先来了解一下端口转发的概念吧。我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:
1、加密 SSH Client 端至 SSH Server 端之间的通讯数据。
2、突破防火墙的限制完成一些之前无法建立的 TCP 连接。
如上图所示,使用了端口转发之后,TCP 端口 A 与 B 之间现在并不直接通讯,而是转发到了 SSH 客户端及服务端来通讯,从而自动实现了数据加密并同时绕过了防火墙的限制。
?
本地转发
我们先来看第一个例子,在实验室里有一台 LDAP 服务器(LdapServerHost),但是限制了只有本机上部署的应用才能直接连接此 LDAP 服务器。如果我们由于调试或者测试的需要想临时从远程机器(LdapClientHost)直接连接到这个 LDAP 服务器 , 有什么方法能够实现呢?
答案无疑是本地端口转发了,它的命令格式是:
ssh -L local port:remote host:remote port SSH hostname
在 LdapClientHost 上执行如下命令即可建立一个 SSH 的本地端口转发,例如:
$ ssh -L 7001:localhost:389 LdapServerHost
?
这里需要注意的是本例中我们选择了 7001 端口作为本地的监听端口,在选择端口号时要注意非管理员帐号是无权绑定 1-1023 端口的,所以一般是选用一个 1024-65535 之间的并且尚未使用的端口号即可。
然后我们可以将远程机器(LdapClientHost)上的应用直接配置到本机的 7001 端口上(而不是 LDAP 服务器的 389 端口上)。之后的数据流将会是下面这个样子:
1、我们在 LdapClientHost 上的应用将数据发送到本机的 7001 端口上;
2、而本机的 SSH Client 会将 7001 端口收到的数据加密并转发到 LdapServertHost 的 SSH Server 上。
3、SSH Server 会解密收到的数据并将之转发到监听的 LDAP 389 端口上;
4、最后再将从 LDAP 返回的数据原路返回以完成整个流程。
我们可以看到,这整个流程应用并没有直接连接 LDAP 服务器,而是连接到了本地的一个监听端口,但是 SSH 端口转发完成了剩下的所有事情,加密,转发,解密,通讯。
?
这里有几个地方需要注意:
1、SSH 端口转发是通过 SSH 连接建立起来的,我们必须保持这个 SSH 连接以使端口转发保持生效。一旦关闭了此连接,相应的端口转发也会随之关闭。
2、我们只能在建立 SSH 连接的同时创建端口转发,而不能给一个已经存在的 SSH 连接增加端口转发。
3、你可能会疑惑上面命令中的 remote host 为什么用 localhost,它指向的是哪台机器呢?在本例中,它指向 LdapServertHost 。我们为什么用 localhost 而不是 IP 地址或者主机名呢?其实这个取决于我们之前是如何限制 LDAP 只有本机才能访问。如果只允许 lookback 接口访问的话,那么自然就只有 localhost 或者 IP 为 才能访问了,而不能用真实 IP 或者主机名。
4、命令中的 remote host 和 SSH hostname 必须是同一台机器么?其实是不一定的,它们可以是两台不同的机器。
5、好了,我们已经在 LdapClientHost 建立了端口转发,那么这个端口转发可以被其他机器使用么?比如能否新增加一台 LdapClientHost2 来直接连接 LdapClientHost 的 7001 端口?答案是不行的,在主流 SSH 实现中,本地端口转发绑定的是 lookback 接口,这意味着只有 localhost 或者 才能使用本机的端口转发 , 其他机器发起的连接只会得到“ connection refused. ”。好在 SSH 同时提供了 Gateway
您可能关注的文档
- 国产PLC海为(Haiwell)国产PLC在磨机控制上的应用.doc
- 国产PLC海为(Haiwell)在洁净空调行业的应用.doc
- 国内非政府组织发展的经验问题与对策论文.doc
- 国际贸易对浙江城市化进程的影响分析.doc
- 图文阐述桥式起重机的发展历程及以深圳港为例分析散杂货码头常用机械的特点及装卸工艺.doc
- 圆中相关的计算在每年的中考中都占有有一定的比例.doc
- 在职研究生的网络课程班与面授班的区别.docx
- 垃圾填埋气回收利用在我国的实践.doc
- 培训大数据开发的建议成都好的大数据培训机构.docx
- 城乡结合部农村小学安全教育的实践与研究.doc
- 基于SSH框架的经贸学院信息系统的设计与开发信息管理系统分析与设计毕业设计.doc
- 基于STC89C52的控制NRF24L01的程序,这个是发送程序,改一下,可以作为接收程序.doc
- 基于STC89C52单片机的实验平台开发设计毕业论文报告.doc
- 基于SOPC的电子音乐相册本科生毕业设计.doc
- 基于VC的网络即时通信软件的设计与实现.docx
- 基于VC的题库管理系统的设计与实现毕业设计.doc
- 基于VHDL交通灯系统的设计毕业设计.doc
- 基于veriloghdl的异步FIFO设计毕业论文设计.doc
- 基于web的宾馆客房管理系统的设计与实现毕业论文设计40论文41.doc
- 基于web的新闻发布管理系统的研究与设计毕业设计.doc
文档评论(0)