什么是SSH端口转发
SSH隧道或SSH端口转发是一种在客户端和服务器机器之间创建加密SSH连接的方法。通过设置转发使得两台不相干的主机建立联系。使其两者能够互通。
ssh端口转发示意
前期准备阿里云服务器一台 (222.7.45.22)本地Kali Linux (192.167.123.74)Xshell7应用场景场景一
大表哥在公司上班,突然想起一份很重要的文件在家中的电脑里。为了不被炒鱿鱼。大表哥驱车行驶了100公里回家后拿到了文件。
场景二
公司服务器IP记不住。为了方便,我只需访问kali的本地IP地址,就能实现对远程服务器的访问。
SSH端口转发的类型总体而言,ssh端口转发的类型主要有以下三个方面。
本地端口转发: 将本地主机端口转发到 SSH 服务器主机。(场景二)远程端口转发: 将服务器主机转发到本地主机。(场景一)动态端口转发: 创建 SOCKS 代理服务器,逃逸防火墙。详解🕸本地端口转发连接从客户端主机转发到SSH服务器主机,然后转发到目标主机端口。
语法:
代码语言:javascript复制ssh -g -N -L [本地端口]:[远程IP]:[远程端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]
如以下列子我们在本地的kali中执行下面命令
代码语言:javascript复制ssh -g -N -L 8888:222.7.45:22:80 root@www.kali.com -p 22
命令说明:当我们访问http://kaliIP:9999 可以直接访问到远程机器的 http://222.7.45:22:80所在的web服务。
参数说明:
-g:开启网关,使同一个局域网内的设备都可以访问。不然只有kali的IP才能访问。-N:仅实现端口转发功能,不登录ssh。-L:表示local,本地端口转发;⚽️远程端口转发将端口从服务器转发到本地主机。命令如下:
代码语言:javascript复制ssh -g -N -R 465:192.168.123.74:22 root@222.7.45.22 -p 22
即通过访问222.7.45:22:465等价与192.168.123.74:22
参数说明:-R:表示remote,远程端口转发。
🚣🏻注意事项以上两条命令均在本地的kali中运行。需要在防火墙和安全组中开启对应的端口。🎨SOCKS代理无论是本地端口还是远程端口转发。他们都是一对一的关系。ssh还有另外一种端口转发策略,叫做dynamic port forwarding,使用这种策略,我们可以非常容易的搭建一个socks代理服务器,从而实现快乐上网。
语法如下:
代码语言:javascript复制ssh -g -N -D [本地监听端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]
如:
代码语言:javascript复制ssh -C -N -D localhost:8888 root@222.7.45.22
然后在火狐浏览器网络设置如下:
访问效果如下
上面的命令是在前台运行的,只是为了方便测试,如果想要它在后台一直运行着,可以加个 -f参数。
总结相对于其他的工具,ssh更简单。如你的路由器开启了ssh功能。我们可以利用此命令直接实现映射,不需要frp花生壳等工具。快去试试吧!
更多精彩文章 欢迎关注我们