git - 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.
到目前为止我所做的是:
- 生成了可以在下面找到的 SSH 密钥
~/.ssh/
- 复制并粘贴
id_rsa.pub
到 Gitlab 部署密钥部分 - 将密钥添加到 SSH 注册表
ssh-add ~/.ssh/id_rsa
- 在下面设置一个配置文件
~/.ssh
,内容如下:Host gitlab.co RSAAuthentication yes IdentityFile ~/.ssh/id_rsa
git remote
将使用 HTTPs 的一种更改为使用 SSH 的一种。
我在 Google 和 StackOverflow 上都搜索了可能的解决方案,但没有找到任何类似的讨论。有什么想法我可能会错过吗?
解决方案
我使用sudo
to do git pull
,这导致服务器尝试使用 sudo 用户的 SSH 密钥进行身份验证。
我通过将目录的所有者更改.git
为我的登录用户来修复它,这意味着这个命令:
sudo chown -R ubuntu:ubuntu .git
在此之后,一切正常。
我相信这是一个常见的情况,我现在很惊讶我找不到更多关于这个的信息。
推荐阅读
- latex - LaTeX:避免空格
- python - 在不工作的 Pygame 代码检查中移动对象
- ruby-on-rails - Ruby on rails 5 根据相关表格数量显示所有结果
- google-glass - 如何将取景器添加到谷歌眼镜应用程序
- docker - 如何让我的机器恢复到集群管理器状态?
- razor - 从 ASP.Net MVC 5 中的 Html.Dropdown onchange 事件调用操作
- git - 当远程分支在 Git 中重命名时,如何更新我的本地引用?
- keras - 使用 Keras 使用 tf.Dataset API
- javascript - 如何在角度 4 中创建自定义 .hasError 条件
- python - Python函数在第二次迭代后不会为变量赋值