Gitolite设置:无法使用ssh密钥登录

时间:2012-12-29 14:32:02

标签: ssh centos gitolite

我正在尝试在我的服务器上设置Gitlab(Centos 6.3)并面临Gitolite设置的一些问题。

我创建了两个用户(如指南:)中所述。 gitlab和git。为gitlab创建了ssh密钥,并将公钥(gitlab.pub)复制到git的主页。并使用gitolite setup -pk gitlab.pub进行设置。

现在,当我尝试从gitlab帐户打开ssh会话时,它会要求输入密码。命令如下

ssh git@localhost
git@localhost's password:  #asks for password here

没有错误或警告。复制测试repo失败并出现同样的问题。任何人都可以帮我找到问题。

我使用过的指南是 1. Gitlab Installation(对于ubuntu)
2. https://gist.github.com/4362544(特定的centos)

1 个答案:

答案 0 :(得分:2)

您可以发布指南的链接吗?也许我可以看到你错过了哪一步。

但是一般来说,你需要创建自己的密钥对,对于你试图ssh to git的用户,然后把它的公钥放到gitolite配置上。

在您的指南中,以下是与密钥验证有关的步骤:

# adduser --system --shell /bin/sh --comment 'git version control' --user-group --create-home --home-dir /home/git git
# adduser --shell /bin/bash --create-home --home-dir /home/gitlab gitlab
# su - gitlab
$ ssh-keygen -t rsa
$ exit
# cp ~gitlab/.ssh/id_rsa.pub ~git/gitlab.pub
# chmod 0444 ~git/gitlab.pub
# su - git
$ git clone git://github.com/gitlabhq/gitolite ~/gitolite
$ echo -e "PATH=\$PATH:/home/git/bin\nexport PATH" >> ~/.profile
$ source ~/.profile
$ gitolite/src/gl-system-install
$ sed -i 's/0077/0007/g' share/gitolite/conf/example.gitolite.rc
$ gl-setup -q /home/git/gitlab.pub
$ exit

因此,请检查您是否~gitlab/.ssh/id_rsa.pub,检查您是否有~git/gitlab.pub

然后,仅限密钥连接仅适用于gitlab用户,因此请确保您尝试ssh git@localhost,以用户gitlab身份登录。

如果您正在执行此操作,则可以查看/var/log/messages/var/log/syslog,以了解关键拒绝的原因。此外,验证/etc/ssh/sshd_config中是否启用了基于密钥的身份验证,如果没有 - 启用它并重新启动sshd