我已经用 Bitnami 安装了最新的 GitLab。但我无法将我的更新推送到中央仓库。它总是要求输入 Git 密码。我将它安装在本地服务器中,并将域名作为本地 IP。公钥在 /hom/git/.ssh/authorised_keys 列表中更新。Iut 它要求输入 Git 用户密码。请帮我。
3 回答
它很奇怪。您能否检查一下您的 SSH 服务器是否配置为使用 authorized_keys 文件?
/etc/ssh/sshd_config
公钥认证是
您能否检查 .ssh/authorized_keys 文件的文件权限?所有者应该是 git 用户。您之前是否已经安装了 Gitlab 版本?也许 Gitolite 已经安装,你需要为 GitLab 5 使用 gitlab-shell。
我假设你的 git 命令是这样的
git clone git@domain:project.git
或者可能
sudo git clone git@domain:project.git
有时我们会混淆我们正在使用的用户帐户。如果我们 run sudo
,这意味着该命令正在以 root 身份运行。您是否为 root 创建了 SSH 密钥并将其放入 Gitlab 中?在其他情况下,您可能使用创建了 SSH 密钥sudo ssh-keygen
但您正常运行 git,这意味着 git 命令正在以活动用户身份运行。
我们也可能会混淆我们放在 Gitlab 中的 SSH 密钥。
不确定你是否需要这个,但如果你使用 web hook,在 Ubuntu 中,Apache 通常作为 www-data 运行。因此,要使 web 挂钩工作,您需要为 www-data 用户创建 SSH 密钥。
我昨天刚刚在虚拟机 (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 中创建一个用户并根据该用户权限推/拉,但我似乎不知道该怎么做。
祝你好运!