一、SSH端口转发相关概念
二、实验:模拟SSH本地端口转发
三、实验:模拟SSH远程端口转发
四、实验:模拟SSH动态端口转发
一、SSH端口转发相关概念
在上一节我们知道,SSH会自动加密和解密所有SSH客户端和服务器之间的网络数据。但是,SSH还同时
提供了一个非常有用的功能,这就是端口转发。它能够将其他TCP端口的网络数据通过安全的SSH协议
转发,例如:Telnet,SMTP等这些TCP应用都能从中受益,避免了用户名,密码以及隐私信息的明文传
输。而与此同时,如果在你的工作环境中防火墙限制了一些网络端口的使用,但是允许SSH的连接,那么
端口转发功能也能够将TCP端口转发来使用SSH进行通信。
SSH端口转发提供的功能主要有:
1.加密SSH Client端至SSH Server端之间的数据
2.突破防火墙的限制完成一些之前无法建立的TCP连接
SSH端口转发提供的类型有:
本地转发
远程转发
动态转发
X协议转发
本地转发:
当外网用户想要临时访问公司内部的不安全TCP协议服务器时,由于防火墙限制无法直接访问,但可利用
先SSH连接至公司内网的SSH服务器在转发至不安全的TCP协议服务器。由于作为转发的SSH服务器与要访
问的不安全TCP协议服务器在同一网络环境内,故这种连接就叫本地转发。
格式:
ssh -L localprot:remotehost:remotehostport sshserver
localprot:指定本机端口
remotehost:指定远程不安全协议的服务器地址
remotehostport:远程不安全协议的服务器地址端口
sshserver:SSH服务器地址
options:
-f 后台启用
-N 不打开远程shell,处于等待状态
-g 启用网关功能
示例:
ssh -L 9527:telnetsrv:23 -N sshsrv
telnet 127.0.0.1 9527
当访问本机的9527端口时,被加密后转发到sshsrv的ssh服务,再解密被转发到telnetsrv:23
大致流程:
Data <–> localhost:9527 <–>localhost:xxxxx <–> sshsrv:22 <–>sshsrv:yyyyy <–> telnetsrv:23