一、准备工作
需要一台拥有公网IP的云服务器
二、服务端
- 安装ssh
- 配置ssh免密登录,将本地公钥添加到服务器~/.ssh/authorized_keys中
- 修改服务端ssh配置文件/etc/ssh/sshd_config,添加以下配置
GatewayPorts yes # 允许绑定到所有网络接口
AllowTcpForwarding yes # 确保端口转发功能开启
PermitTunnel yes # 启用隧道功能(部分环境需此配置)
- 重启ssh,例如ubuntu中使用以下命令重启
sudo systemctl restart sshd
三、本地主机
- 安装ssh
- 通过ssh -R命令实现远程转发,命令格式:ssh -R [远程IP:]远程端口:本地主机:本地端口 用户名@远程服务器
例如
ssh -R 8080:localhost:80 user@public-server
这时通过访问 public-server:8080 即可访问本地80端口的Web服务
如果访问失败,请检查服务器防火墙,是否允许访问端口
例如ubuntu可通过以下命令开放8080端口
sudo ufw allow 8080