Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gitlab在克隆git存储库时提示输入git密码_Git_Ssh_Gitlab - Fatal编程技术网

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

Gitlab在克隆git存储库时提示输入git密码,git,ssh,gitlab,Git,Ssh,Gitlab,我已经使用Omnibus安装了GitLab 7.9.1 一切正常。当我使用gitlab rake时,gitlab:check没有错误 但是,当我想在/var/www中克隆存储库时,控制台会提示我输入git密码 我已经在Gitlab接口中添加了SSH密钥。但是,当我尝试克隆存储库时,它仍然要求我输入git密码 你觉得怎么样 p、 我想指出的是,我使用的是Omnibus安装,而不是源代码安装。您是否尝试使用HTTP URL进行克隆?如果是这样,git将要求输入用户名和密码。尝试用SSH-URL克隆;

我已经使用Omnibus安装了GitLab 7.9.1

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

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

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

你觉得怎么样


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

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

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


我将git附加到AllowGroups之后列出的组集合中,运行
sudo/sbin/service sshd restart
,然后运行
git clonegit@...
按预期工作。类似地,在修复之后,我可以运行
sshgit@gitlab.hostname
它的响应是“欢迎使用GitLab…”,这是一种确认ssh密钥设置正常的简单方法,不需要访问特定的repo。

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

我遵循gitlabs上关于如何生成SSH密钥的指南。我没有很好地理解它。我错过了“ssh-keygen-t rsa-C”******@***.com”中的电子邮件地址


现在可以了

在Windows上尝试使用SSH进行克隆时,我遇到了相同的错误:

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


密钥是可访问的,但错误是使用命令提示符(cmd.exe)而不是Git cmd(Git cmd.exe)。

我也有同样的问题,结果是SELinux阻止sshd读取和打开文件授权密钥

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;

这表明您的ssh客户端无法使用必要的私钥。如果您的私钥(a)不是
~/.ssh/id\u rsa
,并且(b)没有加载到ssh代理中,则需要显式地将git指向密钥。