我在一个私人网络上工作,并在 git.mycompany.com 上托管一个 git 存储库。
我有一个远程服务器,无法访问这个私有网络,我通过 ssh 访问它。为了将我的代码发送到服务器,我建议使用 scp。这并不理想。
我正在尝试使用 ssh 转发来允许我在此服务器上使用 git clone 之类的命令,例如
ssh -L 9418:git.mycompany.com:9418 [email protected]
然后使用 git clone 类似
git clone my.name@localhost:my_project/my_project.git
像平常一样创建并向 git 服务器添加 ssh 密钥后。但是 git 要求我输入密码,而输入密码不起作用,因此我认为我的方法有些不正确。
Permission denied, please try again.
我不知道是授权不起作用,还是我的流量转发错误。
答案1
如果你的 ssh 已经可以运行,你可以简单地通过它进行克隆:
git clone ssh://server/path/to/repository.git
无需手动设置 ssh 隧道。反向操作可以通过推送完成。在远程服务器上创建一个空存储库:
cd /path/
git init --bare remote.git
然后从你的存储库推送到它:
git push ssh://server/path/remote.git