克隆回购时Gitlab / Gitolite问题

时间:2012-07-15 10:50:59

标签: git ssh gitolite gitlab

我严格按照manual from the gitlab wiki设置了Gitlab。有用。我有一个Web访问,我也可以创建一个项目(并在它之后创建了git repo)。一切都好。

但是当我尝试使用

克隆新创建的项目仓库时
git clone git@git.myserver.com:myproject.git

从我的开发机器上,服务器说我需要为 git 用户输入密码(此用户没有密码)。我认为它应该用我提供的密钥授权我。

我的环境:我已经在我的开发机器上成功创建了ssh密钥,将 HOME 环境变量设置为C:\ Users \。 Ssh正确地授权用户使用其他服务器(以及此服务器)的密钥。 我还为 git 用户添加了生成的密钥。

下一个命令也可以从本地服务器用户正常工作(这也是根据手册):

sudo -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin

git用户的 authorized_keys 文件如下:

# gitolite start
command="/home/git/bin/gl-auth-command gitlab",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa <LONG_KEY_HERE> gitlab@odiszapc
# gitolite end

在我从gitlab web控制台添加ssh密钥后, authorized_keys 文件中是否有我的用户密钥?伙计们,我做错了什么?

2 个答案:

答案 0 :(得分:3)

这意味着:

  • 以太在本地(在~/.ssh目录中)
  • 找不到您的公钥/私钥ssh密钥
  • 或公共密钥尚未通过gitlab在服务器~/.ssh/authorized_keys中注册(这似乎就是这种情况:addig你的ssh密钥应该通过gitlab触发它的发布)。
    这类似于 GitLab issue 900 您可以使用换行符复制粘贴密钥。
  

在保留之前从密钥中删除换行符。

您将了解更多信息:

ssh -vvv git@git.myserver.com

请注意,服务器上的所有操作都是以用户'git'完成的,这就是它要求git密码的原因。 This is how gitolite works with ssh


正如OP提到的那样,问题是关于没有正确安装的gitolite 这是GitLab的“验证步骤”应该检测到的问题:

sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production

它应该产生,关于gitolite(我已经添加了'vvv'和'^^^'以强调):

# OUTPUT EXAMPLE
Starting diagnostic
config/database.yml............exists
config/gitlab.yml............exists
/home/git/repositories/............exists
/home/git/repositories/ is writable?............YES

vvvvvvvvvvvvvvvvvvv

remote: Counting objects: 603, done.
remote: Compressing objects: 100% (466/466), done.
remote: Total 603 (delta 174), reused 0 (delta 0)
Receiving objects: 100% (603/603), 53.29 KiB, done.
Resolving deltas: 100% (174/174), done.
Can clone gitolite-admin?............YES

^^^^^^^^^^^^^^^^^^

UMASK for .gitolite.rc is 0007? ............YES

如果没有,那么重新安装Gitolite是有序的。

答案 1 :(得分:0)

好的,我想我已经知道了。

当我从网络界面为用户添加密钥时,它尚未添加到 authorized_keys 文件中。我所做的是完全删除gitolite安装,然后根据gitolite wiki的本机手册重新安装它。现在,当我向用户添加密钥时,此密钥会添加到 authorized_keys ,现在一切正常。