我正在 AWS 网络下开发一个基础项目。该项目使用典型的 VPN,带有一个公共子网和一个 elb,将流量转发到代码所在的私有子网。
我曾经在私有子网上工作,通过 putty 启动隧道,然后使用 filezilla 传递文件。这个过程运行良好。
现在,我想更进一步,开始使用 git 作为我的项目的版本控制器,我在私有子网内建立了一个初始存储库和一个裸存储库。
然后在我的本地桌面上我必须克隆裸存储库并开始处理项目并将更改推送到远程存储库。
打开隧道后,我尝试:
git clone ssh://private_ip/path/to/bare/repo.git repo
但 bash 说:
connect to host private_ip port 22: connection timed out please make sure you have the correct access rights
我尝试了多种访问方式,但似乎都不起作用:
git clone ssh://user@public_ip:22/private_ip/path/to/bare/repo.git repo //permission denied (publickey)
git clone ssh://user@private_ip/path/to/bare/repo.git repo //connection timed out
我是不是漏掉了什么?连接隧道下的私有子网的正确 URL 是什么?有没有更好的方法来管理 vcs?
谢谢
答案1
如果您正在监听port 3333
并转发到private_ip:22
,则需要使用您localhost
正在监听的端口:
git clone ssh://user@localhost:3333/path/to/bare/repo.git repo
PS:确保您的用户具有private_ip
主机的 SSH 访问权限