首页 > 解决方案 > Gitlab部署密钥已配置但仍不授予访问权限

问题描述

我刚刚为 Gitlab 配置了一个部署密钥,这样它就不会每次都要求输入用户名和密码——但是在拉取时,它仍然失败并出现以下错误:

git@gitlab.com: Permission denied (publickey, keyboard-interactive).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

到目前为止我所做的是:

  1. 生成了可以在下面找到的 SSH 密钥~/.ssh/
  2. 复制并粘贴id_rsa.pub到 Gitlab 部署密钥部分
  3. 将密钥添加到 SSH 注册表ssh-add ~/.ssh/id_rsa
  4. 在下面设置一个配置文件~/.ssh,内容如下:
    Host gitlab.co
    RSAAuthentication yes
    IdentityFile ~/.ssh/id_rsa
    
  5. git remote将使用 HTTPs 的一种更改为使用 SSH 的一种。

我在 Google 和 StackOverflow 上都搜索了可能的解决方案,但没有找到任何类似的讨论。有什么想法我可能会错过吗?

标签: gitsshdeploymentgitlab

解决方案


我使用sudoto do git pull,这导致服务器尝试使用 sudo 用户的 SSH 密钥进行身份验证。

我通过将目录的所有者更改.git为我的登录用户来修复它,这意味着这个命令:

sudo chown -R ubuntu:ubuntu .git

在此之后,一切正常。

我相信这是一个常见的情况,我现在很惊讶我找不到更多关于这个的信息。


推荐阅读