ITPub博客

首页 > 数据库 > 数据库开发技术 > 手把手教你玩转SSH端口转发

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

原创 数据库开发技术 作者:逍遥子 时间:2023-03-08 08:00:00 0 删除 编辑

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

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

原文作者:Kali笔记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-01-22

  • 博文量
    760
  • 访问量
    444423