SSH -L 代理与反向代理转发详解

简介:SSH -L 选项用于设置本地端口转发,而反向代理转发则允许远程主机访问本地服务。本文将介绍如何使用 SSH -L 实现本地端口转发和反向代理转发,并提供示例以帮助您理解和应用这些技术。

历史攻略:

Centos:设置代理

centos7:firewall防火墙基本操作

ubuntu:firewall防火墙基本操作

FRP:配置反向代理与内网穿透

使用 SSH -L 代理和反向代理转发的好处:

  1. 提升安全性:通过加密的 SSH 隧道保护数据传输。

  2. 访问内网服务:通过本地端口转发访问内网服务或受限资源。

  3. 简化远程管理:方便远程管理和访问内部服务。

  4. 增强灵活性:支持通过不同端口和地址配置转发规则。

  5. 提高效率:无需额外的网络配置,即可通过 SSH 实现服务转发。

一、本地端口转发示例:

假设需要通过 SSH 连接到远程服务器 remote.server.com,并将本地端口 8080 转发到远程服务器的 80 端口,可以使用以下命令:

python 复制代码
ssh -L 8080:localhost:80 user@remote.server.com

解析:

-L 8080:localhost:80:将本地的8080 端口转发到远程服务器80 端口。

user@remote.server.com:指定 SSH 登录用户名和远程服务器地址。

二、反向代理转发示例:

如果需要从远程服务器 remote.server.com 访问本地计算机上的服务(假设本地服务运行在端口 3000),可以使用以下命令:

python 复制代码
ssh -R 4000:localhost:3000 user@remote.server.com

解析:

-R 4000:localhost:3000:将远程服务器的 4000 端口转发到本地计算机的 3000 端口。

user@remote.server.com:指定 SSH 登录用户名和远程服务器地址。

运行结果:

本地端口转发:访问 http://localhost:8080 将显示远程服务器的内容。

反向代理转发:访问 http://remote.server.com:4000 将显示本地计算机上的服务内容。

注意事项:

1、确保本地和远程端口不冲突,避免覆盖现有服务。

2、确保 SSH 用户具有必要的访问权限。

3、确保防火墙规则允许所需端口的流量。

4、使用强密码和密钥认证提高 SSH 连接的安全性。

5、确保本地和远程服务配置正确,能够接受转发的连接。

小结:通过以上技术就可以灵活地进行本地端口转发和反向代理转发,安全地访问和管理远程或本地服务。

相关推荐
再见晴天*_*2 小时前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
lqjun08274 小时前
Qt程序单独运行报错问题
开发语言·qt
酷飞飞5 小时前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
hdsoft_huge6 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
风中的微尘6 小时前
39.网络流入门
开发语言·网络·c++·算法
数字化顾问6 小时前
Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测
python
未来之窗软件服务6 小时前
幽冥大陆(二)RDIFSDK 接口文档:布草洗涤厂高效运营的技术桥梁C#—东方仙盟
开发语言·c#·rdif·仙盟创梦ide·东方仙盟
小冯记录编程7 小时前
C++指针陷阱:高效背后的致命危险
开发语言·c++·visual studio
学生信的大叔7 小时前
【Python自动化】Ubuntu24.04配置Selenium并测试
python·selenium·自动化
1uther7 小时前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎