2015-04-03 140 views
2

我已经使用Omnibus安装了GitLab 7.9.1。Gitlab在克隆git存储库时提示输入git密码

一切正常。当我做一个gitlab-rake gitlab时:检查,我没有得到任何错误。

但是,当我想克隆/ var/www中的存储库时,控制台会提示我输入git密码。

我在Gitlab界面中添加了SSH密钥。但是,当我尝试克隆存储库时,它仍然要求我提供git密码。

您认为如何?

p.s我想指出,我已经使用了Omnibus安装,而不是从源代码安装。

+0

这表明必需的私钥不可用于您的SSH客户端。如果你的私钥是(a)不是'〜/ .ssh/id_rsa'并且(b)没有加载到ssh-agent中,你需要明确地指向git。 – larsks 2015-04-03 14:28:38

回答

1

完全忘了提供解决方案。我其实已经解决了这个问题。这是SSH密钥的问题。

我按照关于如何生成SSH密钥的gitlabs指南。我没有正确遵守。我错过了'ssh-keygen -t rsa -C“中的电子邮件地址****@***.com'''

它现在有效。

0

您是否试图使用HTTP URL克隆?如果是这样,git会询问用户名和密码。尝试使用SSH URL进行克隆;这将使git使用已经设置的SSH密钥。

3

我遇到了同样的问题。对我来说,问题在于/ etc/ssh/sshd_config有一个AllowGroups指令,它不包含由gitlab创建的git组(查看/ var/log/secure拼写出来)。

我将git添加到AllowGroups后面列出的组,运行sudo /sbin/service sshd restart,然后git clone [email protected]按预期工作。同样,修复后,我可以运行ssh [email protected],并以“欢迎使用GitLab ...”作为响应,这是一种简单的方式来确认ssh密钥设置是否正常,无需访问特定的回购站。

-1

可能的原因:

  1. 你还没有加入当地的ssh PUBKEY(的〜/ .ssh/id_rsa.pub)到您的帐户Gitlab。
  2. 或您的ssh pubkey文件不允许使用文件模式(例如:被他人读取)。在这种情况下,只是chmod 400 ~/.ssh/id_rsa*