假设您拥有该域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 服务器8080,它也将在example.com端口上可用80:
python -m http.server 8080
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习