Gitlab 在克隆 git 存储库时提示输入 git 密码
Gitlab prompts for git password when cloning a git repository
我已经使用 Omnibus 安装了 GitLab 7.9.1。
一切正常。当我执行 gitlab-rake gitlab:check 时,我没有收到任何错误。
但是,当我想在 /var/www 中克隆存储库时,控制台会提示我输入 git 密码。
我在Gitlab界面添加了SSH密钥。但是,当我尝试克隆存储库时,它仍然要求我输入 git 密码。
你怎么看?
p.s 我想指出的是我使用的是 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 clone git@...
按预期工作。同样,修复后我可以 运行 ssh git@gitlab.hostname
并且它以 "Welcome to GitLab..." 响应,这是确认 ssh 密钥设置正常 w/o 访问特定存储库的简单方法。
完全忘了提供解决方案。我实际上已经解决了这个问题。这是 SSH 密钥的问题。
我遵循了 gitlabs 上关于如何生成 SSH 密钥的指南。我没有正确地遵循它。我错过了 'ssh-keygen -t rsa -C "****@***.com"'
中的电子邮件地址
现在可以了。
我在 Windows 上尝试使用 SSH 进行克隆时遇到了同样的错误:
Cloning into 'some_project'...
git@git.company.com's password:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository
exists.
密钥可访问,但错误是使用命令提示符 (cmd.exe) 而不是 Git Cmd (git-cmd.exe) .
我遇到了同样的问题,结果是 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;
我已经使用 Omnibus 安装了 GitLab 7.9.1。
一切正常。当我执行 gitlab-rake gitlab:check 时,我没有收到任何错误。
但是,当我想在 /var/www 中克隆存储库时,控制台会提示我输入 git 密码。
我在Gitlab界面添加了SSH密钥。但是,当我尝试克隆存储库时,它仍然要求我输入 git 密码。
你怎么看?
p.s 我想指出的是我使用的是 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 clone git@...
按预期工作。同样,修复后我可以 运行 ssh git@gitlab.hostname
并且它以 "Welcome to GitLab..." 响应,这是确认 ssh 密钥设置正常 w/o 访问特定存储库的简单方法。
完全忘了提供解决方案。我实际上已经解决了这个问题。这是 SSH 密钥的问题。
我遵循了 gitlabs 上关于如何生成 SSH 密钥的指南。我没有正确地遵循它。我错过了 'ssh-keygen -t rsa -C "****@***.com"'
中的电子邮件地址现在可以了。
我在 Windows 上尝试使用 SSH 进行克隆时遇到了同样的错误:
Cloning into 'some_project'...
git@git.company.com's password:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
密钥可访问,但错误是使用命令提示符 (cmd.exe) 而不是 Git Cmd (git-cmd.exe) .
我遇到了同样的问题,结果是 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;