ssh实现内网穿透,映射公网端口到本地服务

一、准备工作

需要一台拥有公网IP的云服务器

二、服务端

  1. 安装ssh
  2. 配置ssh免密登录,将本地公钥添加到服务器~/.ssh/authorized_keys中
  3. 修改服务端ssh配置文件/etc/ssh/sshd_config,添加以下配置
GatewayPorts yes    # 允许绑定到所有网络接口
AllowTcpForwarding yes  # 确保端口转发功能开启
PermitTunnel yes    # 启用隧道功能(部分环境需此配置)
  1. 重启ssh,例如ubuntu中使用以下命令重启
sudo systemctl restart sshd

三、本地主机

  1. 安装ssh
  2. 通过ssh -R命令实现远程转发,命令格式:ssh -R [远程IP:]远程端口:本地主机:本地端口 用户名@远程服务器
    例如
ssh -R 8080:localhost:80 user@public-server

这时通过访问 public-server:8080 即可访问本地80端口的Web服务
如果访问失败,请检查服务器防火墙,是否允许访问端口
例如ubuntu可通过以下命令开放8080端口

sudo ufw allow 8080

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值