我查看了这篇文章,但它似乎是为 OSX 和/或 Windows 编写的,我不确定如何将其应用于我的情况:
GitLab Not Working With SSH-Keys
我使用 Omnibus(添加到 gitlab.sources 的 bash 脚本)正常设置了我的 GitLab 实例。我在本地服务器上运行 GitLab。本地服务器正在使用 OpenSSH 允许从我的主机连接,并且我有端口 80 和 8060 对我连接到 GitLab 网站的本地计算机开放。当 GitLab 启动时,我可以登录网站,并且可以创建管理员和用户帐户。
我转到我的用户下的设置,并为我生成的密钥添加了公钥,我什至重新配置并重新启动了 GitLab 实例,但每次我尝试通过终端从本地计算机连接时都会Permission Denied (publickey)
出错。
我不精通 GitLab 配置(通过 gitlab.rb)或 SSH 配置。我唯一能想到的是文件或目录的权限错误,或者 GitLab 不知道在哪里查看/如何找到我正在使用的密钥。非常感谢任何帮助,我很乐意提供我遗漏的任何信息!
我检查了 /var/log/auth.log 下的日志,并且在 AllowUsers 下没有 git@mymachine。感谢@MichaelHampton!
查看 GitLab 的密钥文件,即
/var/opt/gitlab/.ssh/authorized_keys
,它是否包含您的密钥?据说你可以用命令。但请注意,此功能在前一段时间被破坏了。他们还计划完全取消这种方法。我建议您切换到“快速 SSH 查找”,它真的很简单。只需将这些行添加到
/etc/ssh/sshd_config
:然后重新启动您的 SSH 服务器。详细信息:通过 GitLab Shell 设置快速查找