手把手教你玩转SSH端口转发

admin 2023年3月8日16:38:30手把手教你玩转SSH端口转发已关闭评论29 views字数 1276阅读4分15秒阅读模式

什么是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服务器主机,然后转发到目标主机端口。

语法:

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花生壳等工具。快去试试吧!

更多精彩文章 欢迎关注我们

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月8日16:38:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   手把手教你玩转SSH端口转发https://cn-sec.com/archives/1592111.html