首页 课程 师资 教程 报名

告诉你什么是SSH反向代理

  • 2022-06-21 11:48:57
  • 1509次 星辉

将端口转发到本地计算机

假设您拥有该域example.com,并且该端口22用作某些 VM/服务器的 SSH 端口。这意味着您可以像这样通过 SSH 访问它:

ssh 用户@example.com

但 SSH 可以做的更多。它的功能之一是反向 TCP 代理,它可以使用一个命令公开本地设备上的端口:

ssh -R \*:80:localhost:8080 -N [email protected]

该-N标志不是必需的,也就是说我们在 SSH 之后不需要执行任何命令。这适用于任何使用 TCP 的东西,例如 Web 服务器、SSH 端口,甚至是您的Minecraft服务器。

这将绑定example.com:80到您的localhost:8080. 请记住,为了绑定到低端口(如80或443),您需要以 root 身份进行 SSH。

启用密码登录

如果您还想使用密码启用 SSH root 登录:

echo "PermitRootLogin 是" | sudo tee -a /etc/ssh/sshd_config 
sudo systemctl restart sshd

绑定到所有地址

如果您想让它在除此之外的地址上可访问localhost(例如0.0.0.0使其公开可用):

echo "GatewayPorts=clientspecified" | sudo tee -a /etc/ssh/sshd_config 
sudo systemctl restart sshd

启动一个简单的 HTTP 服务器

如果您在本地端口上启动 HTTP 服务器8080,它也将在example.com端口上可用80:

python -m http.server 8080

 

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交