我正在尝试在我的服务器上设置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)
答案 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
。