4

我严格按照gitlab wiki 的手册设置了一个 Gitlab 。有用。我有网络访问权限,我也可以创建一个项目(并且在它之后创建了 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文件中是否应该有我的用户密钥?伙计们,我做错了什么?

4

2 回答 2

3

这意味着:

  • ~/.ssh在本地(在您的目录中)找不到您的公共/私有 ssh 密钥
  • 或者 gitlab 尚未在服务器中注册~/.ssh/authorized_keys公钥(这里似乎就是这种情况:添加您的 ssh 密钥应该触发 gitlab 的发布)。
    这类似于GitLab 问题 900
    您可以复制粘贴带有换行符的密钥。

在持久化之前从 key 中删除换行符

您将通过以下方式了解更多信息:

ssh -vvv git@git.myserver.com

请注意,服务器上的所有操作都是作为用户“git”完成的,这就是它回退询问git密码的原因。这就是 gitolite 与 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。

于 2012-07-15T11:29:57.080 回答
0

好吧,我想我明白了。

When I add key for the user from web interface, it hasn't been added to authorized_keys file. What I do is make full delete of the gitolite installation and then reinstall it according to native manual from the gitolite wiki. Now when i've add a key to user, this key is added to authorized_keys and all works fine now.

于 2012-07-16T00:31:41.297 回答