gpt4 book ai didi

GitLab 需要 git@localhost 密码才能推送到仓库

转载 作者:IT王子 更新时间:2023-10-29 01:29:13 25 4
gpt4 key购买 nike

我正在尝试在我的服务器上启动和运行 GitLab。我按照 gitlab github 页面上的安装说明进行操作,一切顺利。

问题是,当我创建一个 repo 并尝试

sudo git push -u origin master

系统提示我输入“git@localhost 的密码:”

git 用户没有密码,所以这是个问题。

遇到此问题的其他人建议在我的 sshd conf 中将 git 添加到 AllowedUsers,但我在那里没有 AllowedUsers 字段,所以这似乎不是问题。

我对 ssh 仍然很陌生,所以我相信它是某种 ssh key 问题,尽管我尝试将所有相关的 ssh key 添加到/home/git/.ssh/authorized_keys 并验证没有换行符在文件中。

仅供引用,我的安装完全通过了 gitlab wiki 中提供的测试:

sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production

非常感谢任何建议!

编辑

所以,我最终通过从另一台机器提交 repo 协议(protocol)来解决这个问题。事实上,我被 SSH 连接到运行 gitlab 的同一台机器上。一旦我尝试从主机以外的机器提交,它就运行良好。因此,对于某些人来说,这可能是一个解决方案(对我们来说是这样,因为我们在与服务器不同的机器上进行开发)。

对于任何试图在遇到此问题的同一台机器上托管和开发的人来说,这仍然是一个开放式问题。

最佳答案


长话短说

key 存储在 gitlab DB 和 gitolite 端。你应该使用工厂构建的 gitolite-admin.git 文件夹,不要使用你的备份!稍后使用 update keys 命令重建 gitolite 的 key 。(将已保存在 gitlab 数据库中的那些 key 更新​​为 gitolite)

sudo -u gitlab -H bundle exec rake gitlab:gitolite:update_keys RAILS_ENV=production

很可能是因为 gitolite key 存在问题,无法正确保存。这些 key (用于登录)实际上由 gitlab 和 gitolite 分开保存。对于 pull/push 实际上是使用保存在 gitolite 中的键。(git/repositories/gitolite-admin.git/index, git/.gitolite/keydir, git/.ssh/authorized_keys)

gitlab 通常应该帮助将那些在 web 上导入的 key 保存到 gitolite 文件中。但是,由于某些原因,它失败了。由于 key 没有正确保存在 gitolite 中,客户端/服务器无法使用 key 并回退到密码。

您必须检查并修复保存在 gitolite 中的那些 key 以更正问题。

查看更多 https://groups.google.com/forum/?fromgroups=#!topic/gitlabhq/X0z_9l7L7A8

关于GitLab 需要 git@localhost 密码才能推送到仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com