SSH代理转发

一、SSH简介

如果工作环境中的防火墙限制了一些网络端口的使用,但是允许SSH连接,就能够将TCP端口转发来使用SSH通讯

二、SSH转发功能

加密SSH Clinet端至SSH Server端之间的通讯数据

突破防火墙的限制,完成一些之前无法建立的TCP连接

三、SSH本地SOCKS5代理

ssh -qTfnN -D 7777 [email protected]

-C压缩数据-q安静模式-T禁止远程分配终端-n关闭标准输入-N不执行远程命令-fssh后台运行-D本地的端口

浏览器开启代理SOCK5可以看到IP发生变化

四、SSH本地转发

网络拓扑图

1.kali能与边界服务器互通2.边界服务器可以和目标机互通3.kali不能直接访问目标机4.目标机不出网5.目的:kali能访问目标机的80端口

正向连接ssh -L localport:remotehost:remotehostport sshserver

localport 本机开启的端口remotehost最终要连接的机器的IP地址remotehostport转发机器的端口sshserver 转发机器的IP地址

这里用ubuntu作为边界服务器

sudo apt-get install openssh-server //安装SSH服务

开启ssh服务

开启正向连接

ssh -L 2222:10.10.10.132:3389 [email protected]//把本地的2222端口映射到目标机3389口,登录边界服务器ssh

成功转发还有一种情况就是数据库只允许本地连接,可以通过ssh转发出来

ssh -L 3333:localhost:3306 [email protected] -h 127.0.0.1 -P 3333 -u root -p 即可登录

代理后的拓扑图

五、SSH远程转发

远程转发

反向连接的一种,可以穿透内网防火墙,在内网中比较好用

ssh -R sshserverport:remotehost:remotehostport sshserver

sshserverpor被转发机器开启的端口号remotehost最终要连接的机器的IP地址remotehostport被转发机器的端口sshserver 被转发机器的IP地址

开启远程需要更改配置

sudo vim /etc/ssh/sshd_config//任何人访问这台机器的某一个端口,都可以访问到目标机的映射出的端口;这个需要在边界服务器上开GatewayPortsyessudo /etc/ssh/sshd_config restart //重启SSH

在边界服务器上打开

因为是反向链接,所以肯定需要在目标机上执行命令

在目标机上执行命令

ssh -R 8899:10.10.10.132:80 [email protected]//把目标机的80端口转发到10.10.10.135(便捷服务器)上的8899端口

现在任何机器,只要访问192.168.137.133(也就是10.10.10.135这台边界服务器)的8899端口,就相当于访问了不出网的内网10.10.10.132机器的80端口

代理后的拓扑图