我已经用Bitnami安装了最新的GitLab。但我不能将我的更新推送到中央回购。它总是要求Git密码。我将其安装在本地服务器中,并将域名作为本地IP。公钥在/hom/git/.ssh/authorised_keys列表中更新。但是它要求Git用户密码。求你帮帮我。
答案 0 :(得分:1)
的/ etc / SSH / sshd_config中
PubkeyAuthentication yes
您可以检查.ssh / authorized_keys文件的文件权限吗?所有者应该是git用户。您之前是否安装过Gitlab版本?也许已经安装了Gitolite,你需要为GitLab 5使用gitlab-shell。
答案 1 :(得分:1)
我认为你的git命令是这样的
git clone git@domain:project.git
或者
sudo git clone git@domain:project.git
有时我们会混淆我们正在使用的用户帐户。如果我们运行sudo
,则意味着该命令以root身份运行。你是否为root创建了SSH密钥并将其放在Gitlab中?在其他情况下,您可能使用sudo ssh-keygen
创建了SSH密钥,但是您正常运行git,这意味着git命令作为活动用户运行。
我们也可能混淆了我们放在Gitlab中的SSH密钥。
不确定你是否还需要它,但是如果你使用web钩子,在Ubuntu中Apache通常作为www-data运行。因此,要使Web挂钩工作,您需要为www-data用户创建SSH密钥。
答案 2 :(得分:0)
我昨天刚刚在虚拟机(xenserver)和ubuntu服务器12.x LTS上安装了gitlab。我有同样的问题。
我设置了我的ssh键,但仍然没有。
我做了2件事,不确定是否有一件或两件都修好了......
首先,我安装了git(!)。我只是假设它会带有gitlab,但它没有。
sudo apt-get install git
当您安装gitlab时,它会创建一个用户' git'但是,它并没有显示在主目录中。
我为git用户设置了密码:
sudo passwd git
之后我重新启动机器。然后我就能像这样推/拉:
git clone git@192.168.1.182:test-group/test-repo.git
我想使用git / gitlab为远程位置的许多机器部署自动和远程更新。我仍然无法弄清楚如何做到这一点。我认为你可以在gitlab中创建一个用户并根据用户权限推送/拉取,但我似乎无法弄清楚如何去做。
祝你好运!