Git:gitolite搞砸了吗?在两个不同的服务器上工作

时间:2011-03-05 17:34:40

标签: git repository git-push gitolite

我是使用Git的新手,所以这是我的上下文:我处于一种情况,我处理两个项目,这些项目存储在不同服务器上的不同存储库中。在两台服务器上都使用gitolite来处理存储库上的管理。

当我有一个要处理的项目时,我使用命令git push --all git@myserver1.com:project1将提交推送到服务器,并且没关系。现在,当我处理两个项目时,我认为应该没问题,如果我使用相同的命令,只更改服务器名称和项目,将其部署在服务器上。

但是不行,现在当我写git push --all git@myserver2.com:project2(我正在从项目的根文件夹运行此命令)时,我要求输入密码:git@myserver2.com's password:并在输入密码后输入:Permission denied (publickey,password).但是这种行为不正确,因为我已经在第二台服务器上设置了我的公钥。

我不知道问题出在哪里,也许gitolite搞砸了?在我的PC上结合两台服务器的配置?

1 个答案:

答案 0 :(得分:1)

  

当我写git push --all git@myserver2.com:project2(我从项目的根文件夹运行此命令)时,我要求输入密码。

这意味着您的公钥尚未被推送到myserver2的gitolite repo 您需要add it to your local gitolite-admin repo, in the keydir directory,并将该回购推送到myserver2,以便将gitolite添加到.ssh/authorizedkeys文件中。

对于myserver1或myserver2,您需要输入:

ssh git@myserver2.com

显示你的gitolite ACL 如果您没有看到这些权利(如果您需要输入密码),那么仍有问题。