锐安盾-网站安全加速服务

中国站

联系我们

400-002-9968

售前咨询

售后服务

注册 登录

博客 > 如何使用 SSH 做正向或反向代理?

如何使用 SSH 做正向或反向代理?

  • 标签:
  • SSH
  • SSH代理
  • 正向代理
  • 反向代理

浏览量:389次评论:0次

作者:锐成网络整理时间:2024-07-04 15:09:56

SSH可以被用来做正向和反向代理,从而实现通过SSH代理主机访问需要访问的网络服务。那么如何使用 SSH 做正向或反向代理呢?以下是相关内容。

如何使用 SSH 做正向或反向代理?

下面,我们先讲下什么是正常代理和反向代理。

  • 正向代理:通过SSH方式讲远程主机的某个端口转发到本地主机制定的端口,从而实现通过本地主机端口访问远程主机端口的功能。
  • 反向代理:通过SSH方式将本地主机的某个端口转发到远程主机指定的端口,从而实现通过远程主机端口访问本地主机端口的功能。

下面我们来举例更详细的说明下正向代理和方向代理。

正向代理

简单来说,正向代理就是主机A通过一台可以SSH访问的主机B访问主机C提供的服务。可以通过以下命令实现:

ssh -CNfL a_port:c_ip:c_port b_user@b_ip

参数说明:

  • -f 后台执行ssh指令
  • -C 允许压缩数据
  • -N 不执行远程指令
  • -L 将本地机的某个端口转发到远端指定机器的指定端口

其中的C、N、f不是必须的参数,所以也可以不带,类似如下:

ssh -L a_port:c_ip:c_port b_user@b_ip

具体示例:

主机A通过访问自己8080端口来访问主机C的80端口,命令如下:

ssh -CNfL 8080:ip_c:80 b_user@b_ip

主机A通过访问自己1521端口来访问主机C的1521端口,命令如下:

ssh -CNfL 1521:ip_c:1521 b_user@b_ip

主机A通过访问自己3306端口来访问主机C的3306端口,命令如下:

ssh -CNfL 3306:ip_c:3306 b_user@b_ip

反向代理

简单来说,反向代理就是主机A通过一台可以SSH访问的主机B将主机A的端口服务通过主机B暴露出来。

反向代理的经典场景就是通过一台可以SSH访问的公网主机B来访问主机A(例如你家里自己的电脑)的端口服务。

命令如下:

ssh -CNfR b_port:127.0.0.1:a_port b_user@b_ip

这其中的a_port和b_port端口需要是未被使用的端口。

写在最后

以上就是关于如何使用 SSH 做正向或反向代理的全部内容了,如果你已经理解量本文中讲解的内容,不妨自己尝试一下。希望以上内容对你有所帮助。

重要声明:本文来自Linux265,经授权转载,版权归原作者所有,不代表锐成观点,转载的目的在于传递更多知识和信息。

相关阅读:
如何设置 SSH 保持连接不中断?
了解SSH与SSL,看哪个更适合您的安全需求

我的评论

还未登录?点击登录

微信扫码沟通
微信扫码沟通

微信扫码沟通

售前咨询
合作
售后
return head