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