Git 权限被拒绝(公钥)但公钥已添加并有效

时间:2021-06-04 09:21:32

标签: git ubuntu github ssh

您好,我在使用 git push origin mastergit pull origin master 时遇到问题,因为我的远程源正在使用 SSH 进行连接,我已经设置了 SSH 密钥对配置我还检查了 this 解决方案,但它不适合我。为了测试连接,我在 Ubuntu 上发出了以下命令

ssh -T git@github.com

并显示以下消息

<块引用>

嗨,赞恩!您已成功通过身份验证,但 GitHub 未通过 提供外壳访问。

我很困惑,如果我的身份验证使用 SSH 测试命令,那么为什么它不能使用推或拉过程

错误如下

<块引用>

git@github.com:权限被拒绝(公钥)。致命:无法读取 来自远程存储库。

请确保您拥有正确的访问权限和存储库 存在。

1 个答案:

答案 0 :(得分:1)

<块引用>

因为我在配置文件中映射了 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 文件无关 .