git - Git权限被拒绝(公钥),但公钥已添加并正在工作
问题描述
您好,我在使用时遇到问题,git push origin master
或者git pull origin master
因为我的远程源使用 SSH 连接,我已经设置了 SSH 密钥对配置,我也检查了这个解决方案,但它对我不起作用。为了测试连接,我在 Ubuntu 上发出了以下命令
ssh -T git@github.com
它显示以下消息
嗨赞恩!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。
如果我的身份验证正在使用 SSH 测试命令,我很困惑,那么为什么它不能与推送或拉取过程一起使用
错误如下
git@github.com:权限被拒绝(公钥)。致命:无法从远程存储库中读取。
请确保您具有正确的访问权限并且存储库存在。
解决方案
因为我在配置文件中映射了 ssh 密钥,所以我假设它正在加载正确的私有文件
确保您的远程 URL 实际上正在使用该 .ssh/config 条目和正确的私钥。
尝试:
GIT_SSH_COMMAND='ssh -Tv' git push
并查看使用的确切密钥。
如果你有一个 .ssh/config 像:
Host gh
Hostname github.com
User git
IdentityFile ~/.ssh/mykey
您的网址应为:
gh:<me>/<myrepo>
加载正确的私人文件
只需要你的ssh-agent
私钥是受密码保护的,与文件无关~/.ssh/config
。
推荐阅读
- javascript - [Nearley]:如何解析匹配的开始和结束标签
- mysql - 如何增强对数百万行表的 MySQL 查询?
- javascript - 如何将文本变成链接
- thrift - 节俭一代变量意外改变
- azure - 将流式数据引入 Azure 数据资源管理器的限制
- r - 向数据框的不同列添加不同的数字
- r - 使用 Heroku 错误 R10(启动超时)部署闪亮的应用程序
- r - 连接ggplot中的点
- video-streaming - 如何在两台计算机上没有 OBS Studio 的情况下流式传输视频,一台只是 Firefox?
- css - 在复杂的 Saas 应用程序上实现暗模式的最佳方法