千家信息网

ssh隧道转发内网穿透功能实现(反弹式木-马原理)

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,ssh说明SSH(secure shell)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境(这点很重要);SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。
千家信息网最后更新 2026年10月31日ssh隧道转发内网穿透功能实现(反弹式木-马原理)

ssh说明

SSH(secure shell)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境(这点很重要);SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。人们通常利用SSH来传输命令行界面和远程执行命令;SSH也支持隧道协议、端口映射和X11连接。借助SFTP或SCP协议还可以传输文件等;闲话不说了,如需要详细了解ssh请自行搜索;
我们通常接触最多的ssh(协议)的地方就是通过xshell xmanager或linux shell中通过ssh工具登录类unix系统;其他的认知可能并不太多,但没有关系,本人也是如此,但今天我们的dba提出一个需求,需要我来协助处理;
题外话:
之前面试的时候,被问到两个IDC的主机怎么通讯?接下的技能就能解决,只是当时没有细想说用,其实根本不需要,因为它还要部署,不是很安全;接下来就见识下!

场景一:

有一台服务器是公司oracle数据库(IDC A)为了安全只对内网开放(即数据库的私网ip侦听);dba平时通过windows上xshell的forward功能,从它自己的本地127.0.0.1:port连接管理数据库(xhell做了连接转发),有一台开发机器是linux(IDC B),也需要在程序中调用数据库,需要做的就是在测试linux上也能这样通过本地测试机调用数据库;也就是需要ssh隧道转发功能;即测试机通过ssh 私钥登录到数据库;通过ssh端口转发功能,把数据库上侦听在内网的端口转发到这台linux测试机上的内网端口;以便于linux测试程序能调用;这么说OK?

方案:
首先需要在数据库上为测试Linux提供私钥无密码认证登录(开一个账号用私钥登录);然后在测试Linux机器上进行ssh登录做端口转发;通过ssh登录长连接把远程端口转发到本地,通过本地的端口连接远程的数据端口

IDC A 数据库服务器新增一个登录账号(无密码私钥登录)
IDC B 测试Linux通过以下登录 IDC A 数据库机器

# ssh -i test -C -f -N -g -L 1521:lanip:1521 test@x.x.x.x  -p port(sshd)#说明: -i   私钥  -C  压缩传输-f  前台运行-N 不执行远程程序-g 允许远程端口转发到本地-L port:host:remote port   即将远程的port转发映射在本地

远程某公网的上开放的redis 通过ssh 隧道转发到本地,通过本地访问redis

[san@TX_zgws_test02 ~]$ sudo netstat -ntpulActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   tcp        0      0 0.0.0.0:6320                0.0.0.0:*                   LISTEN      25103/redis-server  ....省略....

本机通过ssh登录并转发

涂掉的部分即这台主机的公网ip和连接端口;命令执行需要个几秒时间不要ctrl+c

查看本地的端口

san@san-dong:~$ netstat -ntpul(并非所有进程都能被检测到,所有非本用户的进程信息将不会显示,如果想看到所有信息,则必须切换到 root 用户)激活Internet连接 (仅服务器)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program nametcp        0      0 0.0.0.0:6320            0.0.0.0:*               LISTEN      16968/ssh       

访问本地主机上的6320

通过ssh隧道转发即可把访问本地的6320转发到远程的6320,远程的6320是不对外开放的;这样就绕过了防火墙,怎么样,是不是很强大?两台服务器之前直接通过ssh协议隧道访问,不需要***自带ssh加密保护;get到没有?

场景二:

由于我办公电脑是ubuntu的在公司内网,回家想访问我的的这台主机(ssh或vnc)这里就拿ssh模拟好了;如果网管不把我办公电脑的22端口做映射,我在外面是不能访问;此时就可以通过以下方式实现;前提是你得有一个外网的主机;具体做法就是通过办公电脑ssh登录到第三方的的ssh主机上并把办公电脑上的ssh 22端口的访问通过ssh隧道转发到远程主机上的其他本地端口;这样你在第三方(如果你家里有ddns能访问)主机上访问本地的端口即可访问公司办公电脑的服务;
架构如下:

格式如下:

ssh -i san -N -f -R 2222:127.0.0.1:22 san@外网主机(域名或公网ip) -p port(sshd)参数说明:-R: port:host:hostport 即把本地的22端口在远程主机上映成2222

实战:
下班前在公司电脑上执行如下:

即通过 ssh登录到公网电脑C上 并把本地的22端口映射成公网电脑的10022
回家后通过连接公网电脑C的10022 即可登录公司办公电脑;

[san@TX_zgws_test02 ~]$ ssh san@127.0.0.1 -p 10022

如图:

如此这般你便可以通过公网的电脑C来访问公司的办公电脑了(如果家里是ddns可访问的)就省了公网电脑C;前提是电脑支持ssh协议 ,windows下没有试过可自行研究;
如果你觉得很赞,get到,不要走,点个赞呗?
补充:

聊聊日常所说的反弹式***

所谓的就是在计算机中一个程序;目的就是偷偷的运行并开放socket连接或服务端口等着别人来连接,对方想干啥就干啥只要他高兴;这种方式在所有计算机都有公网ip(或在一个网段)时好用;不流行了,现在大部分上网都是通过一个公网ip 代理上网(DNAT)方式,不明白不要紧;你在公司上网(手机4G也是)就是这个模式,表现出来的就是公司所有人的出口公网ip都一样;有了这咱NAT和防火墙,即使你电脑中了这种等对方来连接的,他也进不来;因此聪明的们就想到了另一招,我进不来,但我可以出去啊;对了大多的企业防火墙只防外面进入企业,企业内出去一般很少限制,限制多了就是这也上不了,那也上不了,所以一般企业只禁用一些明显有问题的协议或端口;大部分出去的端口是不做限制的;
这样你电脑种了一个
后,会主动联系外面的机器并做隧道映射转发,就像是上面的场景;于是绕过了你电脑和公司的防火墙;对方就能以这种方式又可以操纵你的电脑了;这就是所谓的反弹式,原理是不是很像?以后看到自己电脑上有未知的类似以下的连接就要小心了

sudo netstat -n |grep ESTtcp        0      0 172.16.0.188:54032      x.x.x.x:22    ESTABLISHED

上面的是我刚做的测试不怕!

端口 电脑 登录 数据 公网 数据库 主机 公司 就是 测试 隧道 服务 办公 安全 服务器 传输 企业 方式 机器 程序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网佳科技有限公司 易互联网科技有限公司 亿策互联网科技 未来的互联网科技 科技大学互联网专业好不好 云创客互联网科技公司 隆华科技工业互联网 互联网科技教育视频 河南猎农互联网科技有限公司 武汉健翔互联网络科技有限公司 苏州五指互联网络科技有限 深圳育鹏互联网科技有限公司招聘 特约风豹互联网科技为什么扣费 科技互联网海报 互联网金融科技公司的优势 北京市互联网新科技 互联网科技包装股 宁波跨境商互联网科技有限公司 互联网科技企业商标注意事项 互联网科技平台产品运营 互联网扶贫科技 互联网下的科技发展 中国 科技 互联网 互联网科技视频素材 互联网金融科技委员会 中盈科技互联网信息有限公司 互联网之后的科技是什么 江苏苏星互联网科技有限公司 宁波跨境商互联网科技有限公司 广东猫王互联网科技有限公司电话
0