基于SSH端口转发的概述与实例

基于SSH端口转发的概述与实例

ID:41724091

大小:246.79 KB

页数:16页

时间:2019-08-30

基于SSH端口转发的概述与实例_第1页
基于SSH端口转发的概述与实例_第2页
基于SSH端口转发的概述与实例_第3页
基于SSH端口转发的概述与实例_第4页
基于SSH端口转发的概述与实例_第5页
资源描述:

《基于SSH端口转发的概述与实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于SSH端口转发的概述与实例端口转发概念让我们先来了解一下端口转发的概念吧。我们知道,SSH会白动加密和解密所有-SSH客户端与服务端之间的网络数据。但是,SSH还同时捉供了一个非常有用的功能,这就是端口转发。它能够将其他TCP端口的网络数据通过SSH链接来转发,并且H动提供了相应的加密及解密服务。这一过程冇时也被叫做“隧道”(tunneling),这是因为SSH为其他TCP链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP这些TCP应用均能够从中得益,避免了用户名,密

2、码以及隐私信息的明文传输。而与此同时,如果您工作坏境屮的防火墙限制了一些网络端口的使用,但是允许SSH的连接,那么也是能够通过将TCP端口转发来使用SSH进行通讯。总的来说SSH端口转发能够提供两人功能:1、加密SSHOient端至SSHServer端Z间的通讯数据。2、突破防火墙的限制完成一些Z前无法建立的TCP连接。如上图所示,使用了端口转发之示,TCP端口A与B之间现在并不宜接通讯,而是转发到了SSH客八端及服务端来通讯,从而自动实现了数据加密并同时绕过了防火墙的限制。本地转发我们先来看第一个例

3、子,在实验室里有一台LDAP服务器(LdapServerHost),但是限制了只有木机上部署的应用才能肓接连接此LDAP服务器。如果我们由于调试或者测试的需要想临吋从远程机器(LdapQientHost)直接连接到这个LDAP服务器,有什么方法能够实现呢?答案无疑是本地端口转发了,它的命令格式是:ssh-L::在LdapOientHost上执行如下命令即可建立一个SSH的木地端口转发,例如:$ssh-L70

4、01:localhost:389LdapServerHostLDAPClientPort7001Port7001SSHClientSSHClientLDAPServer□□00LDAPPoit389SSHServer)这里需要注意的是本例中我们选择了7001端口作为本地的监听端口,在选择端口号时耍注意非管理员帐号是无权绑定「1023端口的,所以一般是选用一个1024-65535之间的并尚未使用的端口号即可。然后我们可以将远程机器(LdapQientHost)上的应用宜接配置到本机的7001端II上(而

5、不是LDAP服务器的389端口上)。之后的数据流将会是下面这个样子:1、我们在LdapOientHost±的应用将数据发送到本机的7001端口上;2、而木机的SSHOient会将7001端口收到的数据加密并转发到LdapServertHost的SSHServer上。3、SSHServer会解密收到的数据并将Z转发到监听的LDAP389端口上;4、最后再将从LDAP返回的数据原路返回以完成整个流程。我们可以看到,这整个流程应用并没有直接连接LDAP服务器,而是连接到了本地的一个监听端口,但是SSH端口转

6、发完成了剩下的所有事情,加密,转发,解密,通讯。这里有几个地方需要注意:1、SSH端口转发是通过SSH连接建立起来的,我们必须保持这个SSH连接以使端口转发保持生效。一口关闭了此连接,相应的端口转发也会随之关闭。2、我们只能在建立SSH连接的同吋创建端口转发,而不能给一个已经存在的SSH连接增加端口转发。3、你可能会疑惑上面命令中的为什么用localhost,它指向的是哪台机器呢?在本例中,它指向LdapServertHosto我们为什么用localhost而不是IP地址或者主

7、机名呢?其实这个取决于我们Z前是如何限制LDAP只冇木机才能访问。如果只允许Iookback接口访问的话,那么自然就只有localhost或者IP为127.0.0.1才能访问了,而不能用真实IP或者主机名。4、命令屮的vremotehost>和必须是同一台机器么?其实是不一定的,它们可以是两台不同的机器。5、好了,我们已经在LdapOientHost建立了端口转发,那么这个端口转发可以被其他机器使用么?比如能否新增加一台LdapaientHost2来直接连接LdapOient

8、Host的7001端口?答案是不行的,在主流SSH实现中,本地端口转发绑定的是lookback接口,这意味看只有localhost或者127.0.0.1才能使用本机的端口转发,具他机器发起的连接只会得到“connectionrefused.好在SSH同时提供了GatewayPorts关键字,我们可以通过指定它与其他机器共亨这个本地端口转发。远程转发我们來看笫二个例子,这次假设由于网络或防火墙的原因我们不能用SSH直接从LdapOientHost连接到LD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。