欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

SSH的本地、远程、动态端口转发实验笔记

程序员文章站 2022-05-26 14:49:00
SSH端口转发 SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为SSH 为其他 TCP 链接提供了一个安全的通道 ......

ssh端口转发
  ssh 会自动加密和解密所有 ssh 客户端与服务端之间的网络数据。但是,ssh 还能够将其他 tcp 端口的网络数据通过 ssh 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为ssh 为其他 tcp 链接提供了一个安全的通道来进行传输而得名。例如,telnet,smtp,ldap 这些 tcp 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果工作环境中的防火墙限制了一些网络端口的使用,但是允许 ssh 的连接,也能够通过将 tcp 端口转发来使用 ssh 进行通讯
ssh 端口转发能够提供两大功能:
    加密 ssh client 端至 ssh server 端之间的通讯数据
    突破防火墙的限制完成一些之前无法建立的 tcp 连接
本地转发:
    -l localport:remotehost:remotehostport sshserver
选项:
    -f 后台启用
    -n 不打开远程shell,处于等待状态
    -g 启用网关功能

实验1:本地端口转发

ssh端口转发:远程到99.120上的23端口

用ssh加密的协议封装其他的不加密协议telnet,从而实现安全传输

实验图:

 hosta:  ip:292.168.199.190

 hostb:  192.168.99.20

 hostc:  192.168.99.120 (telnet服务端)

SSH的本地、远程、动态端口转发实验笔记

 实现过程:先再a和b之间利用ssh协议连接,创建一个隧道,里面走的是telnet,因为ssh协议是加密的,把telnet封装在其内部,在到达内网b主机时会自动的解封装在由b主机转发到主机c上

从而实现了加密连接通讯

实验步骤:①开启本地一个端口9527,先和主机里建立一个隧道连接

SSH的本地、远程、动态端口转发实验笔记

 ②在b主机上查看连接情况,此时通道已经建立好了

 SSH的本地、远程、动态端口转发实验笔记

③在服务端查看一下23端口是否被连接,此时没有被任何人连接

 SSH的本地、远程、动态端口转发实验笔记

④这时就可以使用telnet 连接本地的9527端口通过隧道的连接间接的访问服务端了

 SSH的本地、远程、动态端口转发实验笔记

在服务端查看一下端口连接情况:此时是被b主机连接,实际上是a主机正在访问,下面看一下b主机状态

SSH的本地、远程、动态端口转发实验笔记

此时在主机b上查看一下端口连接情况,如图:此时b主机有两个角色:1、对于a主机来说它是a主机ssh的服务端   2、对于c主机telnet服务端来说它是telnet的客户端

 SSH的本地、远程、动态端口转发实验笔记

 

实验2:ssh远程端口转发

 

远程转发:
  主要命令:   -r   sshserverport:remotehost:remotehostport   sshserver
  因在公司里都有防火墙,规则一般都是不允许从外面主动发起请求,所以现在ssh client和server端角色互换以实现
  实验过程: 让sshsrv侦听9527端口的访问,如有访问,就加密后通过ssh服务转发请求到本机ssh客户端,再由本机解密后转发到telnetsrv:23

实验图:

SSH的本地、远程、动态端口转发实验笔记

 实验步骤:①在主机b时主动发起ssh请求到a主机建立隧道的连接,连接状态如下图:

 SSH的本地、远程、动态端口转发实验笔记

 ②此时隧道连接已经建立了,回到主机a上查看一下连接情况:

SSH的本地、远程、动态端口转发实验笔记

 ③在主机a上发起telnet请求,如图,此时已经telnet到远程服务端了

 SSH的本地、远程、动态端口转发实验笔记

④在主机c服务端和主机b上查看链接情况

主机c:服务端,此时23端口也是被主机b连接,实际上是a主机在连接

SSH的本地、远程、动态端口转发实验笔记

主机b:此时也是两种角色,一个是ssh的客户端,另一个是telnet的客户端

SSH的本地、远程、动态端口转发实验笔记

 

 

 实验3:动态端口转发

实验图:

主机a(客户端) ip:192.168.99.190

主机b(跳板机、代理机) ip:192.168.99.20

主机c(web服务端) ip:192.168.99.120

 SSH的本地、远程、动态端口转发实验笔记

 实验过程:因防火墙的原因国内的主机不能直接访问国外的一些网站,所以我们只能通过一些代理的服务器,如亚马逊云主机等(这里指主机b)间接的去访问这些网站,

实验步骤:

  ①为了模拟真实一些,这里在主机c服务端配置一条防火墙策略,禁止主机a直接访问

SSH的本地、远程、动态端口转发实验笔记

  ②  a主机加策略之前是可以访问的,再次访问就被拒绝了

 SSH的本地、远程、动态端口转发实验笔记

但是主机b不受影响,可以正常服务c的网页

SSH的本地、远程、动态端口转发实验笔记

 ③在a主机开一个端口通过ssh协议连接到b主机,

 SSH的本地、远程、动态端口转发实验笔记

在b主机查看端口连接

SSH的本地、远程、动态端口转发实验笔记

④ 访问服务端: 通过建立的连接,在本机访问9527端口即可以通过隧道连接通过代理主机b去访问服务端(命令行使用代理访问如下),图形界面需要在web浏览器配置里设置代理服务器的ip后再进行访问,如图

 SSH的本地、远程、动态端口转发实验笔记

浏览器的配置:

 SSH的本地、远程、动态端口转发实验笔记

 这样我们就可以访问国外的一些网站了,是不是so easy呢!

以上实验为本人实验笔记记录,如果有错误欢迎指出

 

 

如果对你有帮助的话就给小编点个赞吧 ,非常感谢!