SSH实验 |
您所在的位置:网站首页 › 查看本机ssh端口 › SSH实验 |
端口转发概述
众所周知,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能: 加密 SSH Client 端至 SSH Server 端之间的通讯数据。 突破防火墙的限制完成一些之前无法建立的 TCP 连接。 角色定义A. 本地服务器,想通过中间服务器B间接访问目标服务器C B. 中间服务器,类似于代理,A以B的名义去访问C C. 目标服务器,C看到的都是中间服务器B在访问自己 实验一:本地转发主要功能: 加密 SSH Client 端至 SSH Server 端之间的通讯数据 突破防火墙的限制完成一些之前无法建立的 TCP 连接 命令: ssh -Nf -L [local_A_address]:local_A_port:target_C_server:target_C_port via_B_server 参数: -N,不执行命令 -f,后台执行 -L,local本地端口转发 local_A_address: 127.0.0.1 - 默认,只能本机使用这个端口转发 也可以是本机的IP地址,同时其他人可以使用这个IP来使用这个端口转发 via_B_server:中间服务器 应用: A---能访问------>B-------能访问------>C A---不能访问----------------------------->C A---通过本机端口,以B的名义访问-->C本地转发: -L localport:remotehost:remotehostport sshserver 选项: -f 后台启用 -N 不打开远程shell,处于等待状态 -g 启用网关功能
用ssh加密的协议封装其他的不加密协议telnet,从而实现安全传输 实验图如上: centos6: 192.168.39.101(外网客户端) centos8: 192.168.39.102(内网中类似跳板机)还有一个共用IP地址 192.168.39.8 centos7: 192.168.39.104(内网telnet服务端) 实现过程:先再centos6和centos8之间利用ssh协议连接,创建一个隧道,里面走的是telnet,因为ssh协议是加密的,把telnet封装在其内部,在到达内网centos8主机时会自动的解封装在由centos8主机转发到主机centos7上从而实现了加密连接通讯. 在外网客户端和内网服务器端都要提前安装好 [root@kaivi6 ~]#yum install telnet [root@kaivi6 ~]#yum install telnet-server [root@centos7 ~]#yum install telnet [root@centos7 ~]#yum install telnet-server #systemctl start telnet.socket 并且启功该服务,这是会自动开启23端口号注意:配置的时候是在 centos6: 192.168.39.101(外网客户端) 开启本地一个端口9527(先要确保这个端口没有人用,可以用ss -ntl 命令查看端口号),先和主机里建立一个隧道连接 远程转发: 主要命令: -R sshserverport:remotehost:remotehostport sshserver 示例: ssh –R 9527:telnetsrv:23 –Nf sshsrv 让sshsrv侦听9527端口的访问,如有访问,就加密后通过ssh服务转发请求到本机ssh客户端,再由本机解密后转发到telnetsrv:23 因在公司里都有防火墙,规则一般都是不允许从外面主动发起请求,所以现在ssh client和server端角色互换以实现 实验过程: 让sshsrv侦听8888端口的访问,如有访问,就加密后通过ssh服务转发请求到本机ssh客户端,再由本机解密后转发到telnetsrv:23 centos6: 192.168.39.101(外网客户端) centos8: 192.168.39.102(内网中类似跳板机)还有一个公用IP地址 192.168.39.8 centos7: 192.168.39.104(内网telnet服务端) 准备好实验环境: [root@kaivi6 ~]#yum install telnet [root@kaivi6 ~]#yum install telnet-server [root@centos7 ~]#yum install telnet [root@centos7 ~]#yum install telnet-server #systemctl start telnet.socket 并且启功该服务,这是会自动开启23端口号 centos6 telnet服务起不来 参考:https://blog.csdn.net/weixin_34378922/article/details/92100530注意:配置的时候是在 centos8: 192.168.39.102(内网中类似跳板机) 实验步骤:在主机 centos8: 192.168.39.102(内网中类似跳板机)主动发起ssh请求到centos6: 192.168.39.101(外网客户端)主机建立隧道的连接 [root@centos8 ~]#ssh -R 8888:192.168.39.104:23 192.168.39.101 -fN The authenticity of host '192.168.39.101 (192.168.39.101)' can't be established. RSA key fingerprint is SHA256:eW09nANmhy6Dt11/tP9NYkq7+tU1VZYd3X9J24b8iQk. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.39.101' (RSA) to the list of known hosts. [email protected]'s password:可以看到已经连接到了centos6: 192.168.39.101(外网客户端)主机 此时隧道连接已经建立了,回到主机centos6: 192.168.39.101(外网客户端)上查看一下连接情况: 可以看到连接之后已经有了8888端口 centos8: 192.168.39.102(内网中类似跳板机):此时也是两种角色,一个是ssh的客户端,另一个是telnet的客户端 动态端口转发: 当用firefox访问internet时,本机的1080端口做为代理服务器,firefox的访问请求被转发到sshserver上,由sshserver替之访问internet ssh -D 1080 root@sshserver -fNg 在本机firefox设置代理socket proxy:127.0.0.1:1080 curl --socks5 127.0.0.1:1080 http://www.google.com 实验过程:因防火墙的原因国内的主机不能直接访问国外的一些网站,所以我们只能通过一些代理的服务器,如亚马逊云主机等(这里指主机 centos8: 192.168.39.102(没有被拒绝的中间机器))间接的去访问这些网站 centos6: 192.168.39.101(被拒绝客户端) centos8: 192.168.39.102(没有被拒绝的中间机器)还有一个公用IP地址 192.168.39.8 centos7: 192.168.39.104(网页服务器端) 实验前准备工作: 在centos7: 192.168.39.104(网页服务器端) 安装httpd服务并且打开服务 [root@centos7 ~]#yum install httpd [root@centos7 ~]#systemctl start httpd.service为了模拟真实一些,这里在主机centos7: 192.168.39.104(网页服务器端)服务端配置一条防火墙策略,禁止主机 centos6: 192.168.39.101(被拒绝客户端)直接访问 centos6: 192.168.39.101(被拒绝客户端)在添加策略前是可以访问centos7: 192.168.39.104(网页服务器端)的。 在 centos6: 192.168.39.101(被拒绝客户端)主机开一个端口通过ssh协议连接到centos8: 192.168.39.102(没有被拒绝的中间机器)主机 注意:这里是通过ssh协议连接是安全的。是在centos6: 192.168.39.101(被拒绝客户端)进行操作的。 在这里我们要事先找一个没有人用的端口,这里我们以9527为例子 在虚拟机本机中: init 5 》Firefox 》Preferences 》Network 》Settings》配置本机地址和端口
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |