GitLab:我无法推送或克隆仓库,要求输入Git密码。

6

我已经通过Bitnami安装了最新的GitLab,但是无法将更新推送到中央仓库。它总是要求Git密码。我在本地服务器上安装并将域名作为本地IP。公共密钥已更新到 /hom/git/.ssh/authorised_keys列表中。但它仍然要求Git用户密码。请帮助我。


你能从客户端ping通该域名吗?你使用的是哪个客户端?(Windows,Unix?)客户端上安装的git版本是多少?在服务器上的~git/.ssh/authorized_keys文件中是否看到了gitlab-shell - VonC
1
我已经苦苦挣扎了好几个月。请看一下这个 Github 问题。https://github.com/gitlabhq/gitlabhq/issues/search?q=1875 - spuder
后来我尝试了没有使用Bitnami的GitLab 4.2版本,它可以正常工作。但是GitLab 5存在这个问题。 - Premjith
3个回答

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密钥。

1

这很奇怪。您能检查一下您的SSH服务器是否配置为使用authorized_keys文件吗?

/etc/ssh/sshd_config

PubkeyAuthentication yes

您能检查一下.ssh/authorized_keys文件的文件权限吗?所有者应该是git用户。您之前已经安装过Gitlab版本了吗?也许Gitolite已经安装好了,您需要使用gitlab-shell来适配GitLab 5。


0

我昨天在虚拟机(xenserver)和Ubuntu服务器12.x LTS上安装了GitLab。我遇到了完全相同的问题。

我设置了我的SSH密钥等,但仍然没有用。

我做了两件事情,不确定哪一个或两个都解决了它...

首先,我安装了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中创建一个用户,并基于该用户的权限进行推送/拉取,但我似乎无法弄清楚如何做到这一点。

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接