1、端口转发概述
SSH会自动加密和解密所有SSH客户端与服务端之间的网络数据。同时,SSH还提供了一个非常有用的功能,这就是端口转发。它能够将其他TCP端口的网络数据通过SSH链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为SSH为其他TCP链接提供了一个安全的通道来进行传输而得名。例如,Telnet、SMTP、LDAP这些TCP应用均能够从中得益,避免了用户名、密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许SSH的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。
总的来说 SSH 端口转发能够提供两大功能:
加密 SSH Client 端至 SSH Server 端之间的通讯数据。
突破防火墙的限制完成一些之前无法建立的 TCP 连接。
使用端口转发之后,A主机与B主机之间的TCP通信不会直接进行,而是会转到SSH客户端和服务来进行通讯,这样在实现了数据加密的同时也绕过了防火墙的限制。
2、本地转发和远程转发
2.1本地端口转发
命令:ssh -L localport:remotehost:port sshsrv
说明:
localport:本机开启的端口号
remotehost:最终通讯的机器IP
port:最终通讯的机器端口号
sshsrv:转发机器的IP
选项:
-f:后台启用
-N:不打开远程shell,处于等待状态
-g:启用网关功能
实例1.实现SSH本地端口转发
公司内部通信方式为telnet(23端口),且不允许外网直接访问;公司内部有台SSH服务器,且公司人员出差在外想要链接公司内网进行通信。
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99160