目录
一、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 sshserverlocalport 本机开启的端口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 sshserversshserverpor被转发机器开启的端口号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端口
代理后的拓扑图