SSH端口转发

端口转发概述:

让我们先来了解一下端口转发的概念吧。我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:

  1. 加密 SSH Client 端至 SSH Server 端之间的通讯数据。
  2. 突破防火墙的限制完成一些之前无法建立的 TCP 连接。

端口转发方式:

共有三种方式,分别为本地转发,远程转发,动态转发

1:本地端口转发

原理:

将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口。

命令:-L localport:remotehost:remotehostport sshserver

说明:localport       本机开启的端口号

      remotehost      最终连接机器的IP地址

      remotehostport        转发机器的端口号

      sshserver       转发机器的IP地址

选项:-f 后台启用

      -N 不打开远程shell,处于等待状态(不加-N则直接登录进去)

    接下来,我们通过实验来详细的说明一下如何实现本地转发:

实验:

三台机器:c5服务器,c6跳板机,c7客户机

c5服务器只允许telnet连接(23端口)访问,不允许外部直接访问,c6服务器是一个ssh服务器;有一个用户c7需要从外部连接到内部的c5服务器。

c5防火墙允许22端口进来(或者企业内部有一个堡垒机,ssh -t通过堡垒机进去)。

c7用户通过ssh协议连接到c6机器上,再通过c6机器做跳板,连接至c5服务器。

实验步骤:

1)模拟c5不允许c7连接,并且开启c6机器的telnet服务端口23。

c5安装 telnet-server并开启:

[root@centos5 Server]# rpm -ivh telnet-server-0.17-39.el5.i386.rpm 
warning: telnet-server-0.17-39.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: failed to stat /media/RHEL_5.4 i386 DVD: 没有那个文件或目录
Preparing...                ########################################### [100%]
   1:telnet-server          ########################################### [100%]
[root@centos5 Server]# chkconfig xinetd on
[root@centos5 Server]# chkconfig telnet on
[root@centos5 Server]# service xinetd start
启动 xinetd:
[root@centos5 Server]# ss -ntl | grep 23
0      0                              *:23                            *:*     

在c5上输入以下口令:

[root@centos5 Server]# iptables -F
[root@centos5 Server]# iptables -A INPUT -s 172.18.251.152 -p tcp --dport 23 -j ACCEPT
[root@centos5 Server]# iptables -A INPUT -p tcp --dport 23 -j REJECT

在c5上的23端口只允许c6进行访问,其他任何机器都拒绝

iptables -L可以看到详细信息

[root@centos5 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  172.18.251.152 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值