克隆git存储库时,Gitlab会提示输入git密码

时间:2015-04-03 13:13:11

标签: git ssh gitlab

我使用Omnibus安装了GitLab 7.9.1。

一切正常。当我做gitlab-rake gitlab:check时,我没有错误。

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

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

您怎么看?

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

6 个答案:

答案 0 :(得分:4)

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

我将git附加到AllowGroups之后列出的一组组,运行sudo /sbin/service sshd restart,然后git clone git@...按预期工作。类似地,在修复之后我可以运行ssh git@gitlab.hostname并且它响应“欢迎使用GitLab ...”这是一种简单的方法来确认ssh密钥设置很好,无需访问特定的仓库。

答案 1 :(得分:1)

您是否尝试使用HTTP网址进行克隆?如果是这样,git将要求输入用户名和密码。尝试使用SSH URL进行克隆;这将使git使用已设置的SSH密钥。

答案 2 :(得分:1)

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

我按照gitlabs上的指南介绍了如何生成SSH密钥。我没有正确地遵循它。我错过了' ssh-keygen -t rsa -C" **** @ ***。com"'

中的电子邮件地址

现在有效。

答案 3 :(得分:0)

尝试在Windows上使用SSH克隆时遇到相同的错误:

  

克隆到“ some_project” ...
  git@git.company.com的密码:
  致命:无法从远程存储库读取。
  请确保您具有正确的访问权限和存储库   存在。

该键是可访问的,但错误是使用命令提示符(cmd.exe)而不是Git Cmd(git-cmd.exe)。

答案 4 :(得分:0)

我遇到了同样的问题,原来是SELinux阻止sshd读取和打开文件authorized_keys。

Aug  9 04:10:36 gitlab01 setroubleshoot: SELinux is preventing sshd from read access on the file authorized_keys. For complete SELinux messages run: sealert -l bdda8979-07aa-47bd-baac-e818c54abb49

我实施了新的selinux策略,一切都很好。

~$ cat local-gitlab.te
module local-gitlab 1.0;

require {
    type var_t;
    type sshd_t;
    class file getattr;
    class file read;
    class file open;
}

#============= sshd_t ==============

#!!!! WARNING: 'var_t' is a base type.
allow sshd_t var_t:file getattr;
allow sshd_t var_t:file read;
allow sshd_t var_t:file open;

答案 5 :(得分:-1)

可能的原因:

  1. 您尚未将本地ssh pubkey(〜/ .ssh / id_rsa.pub)添加到您的Gitlab帐户。
  2. 或您的ssh pubkey文件已禁止文件模式(例如:其他人可读)。在这种情况下只需chmod 400 ~/.ssh/id_rsa*