ssh实现内网穿透

ssh实现内网穿透

需求

搭建网站,使得外网能够访问到本地实验室主机.
NAT: 网络地址转换 导致外网不能直接对本地局域网内的主机进行直接访问。

条件

公网IP (购买云服务器(华为云、阿里云、腾讯云等))

前提

云服务器要设置为SSH密钥登录 本地执行ssh-genssh-copy-id 云服务器user@ip
本地、云服务器的防火墙对应端口要打开。云服务器还要在官方网站上的安全组添加对应的端口。

实现步骤

在下文中云服务器的端口称为portA. 本地实验室主机的端口称为portB

  1. 本地实验室主机端:

    运行以下代码:

    ssh -Nf -R 0.0.0.0:port:127.0.0.1:portB  username@ip
    

    -R 表示远程端口转发
    -N 不执行远程命令,只进行数据转发
    -f 后台运行
    0.0.0.0代表网络上所有的主机,此处可以省略
    127.0.0.1可以用localhost替代。
    username@ip 代表着云服务器上的用户名和云服务器的ip地址。

  2. 云服务器端:

    使用sudo vim /etc/ssh/sshd_config 命令修改sshd_config文件
    取消文件中GatewayPorts的注释,并将no 换为 yes
    使用systemctl restart sshd 来重启服务

其他

完成后,使用netstat -anp | grep portA 查看
在这里插入图片描述
使用telnet ip port 结合 server 程序来确认内网穿透成功。

在云服务器(公网ip)使用nginx反向代理监听外部的80端口的请求,并将请求转发给内网穿透的端口,可以实现端口的隐藏。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值