卡卷网
当前位置:卡卷网 / 每日看点 / 正文

如何利用nginx反向代理和ssh的远程端口转发实现内网穿透??

作者:卡卷网发布时间:2025-04-19 11:52浏览数量:20次评论数量:0次

背景

由于工作需要在公有云的ECS上拉取内网gitlab的代码,但是该ECS无法直接通过ssh连接到内网gitlab,需要通过可连接内网和公有云的ECS进行反向代理。

各机器网络状况

公有云ECS:无内网访问权限,但是需要获取内网gitlab代码

研发ECS:有内网访问权限,有公有云ECS访问权限

代理配置

研发ECS

  1. 安装openssh-server
  2. ssh -fNR :8080:gitlab.xxxxxxx.com:22 user@<public cloud ip>启动反向代理

公有云ECS

  1. 将/etc/ssh/sshd_config的GatewayPorts设置为yes
  2. service sshd restart重启ssh的demon进程
  3. netstat -tnla|grep 8080查看是否处于listen状态
  4. 打开~/.ssh/config文件,增加如下内容:

Host gitlab HostName 127.0.0.1 Port 8080 User your-user-name

  1. ssh-keygen生成密钥并将公钥拷贝到gitlab
  2. ssh -T git@gitlab检查是否反向代理成功
  3. 通过git clone git@gitlab:dragonwell/dragonwell11.git拉取代码

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码