【问题标题】:Git Permission denied (public key) but public key is added and workingGit权限被拒绝(公钥),但公钥已添加并正在工作
【发布时间】:2021-06-06 00:20:40
【问题描述】:

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

ssh -T git@github.com

它显示以下消息

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

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

错误如下

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

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

【问题讨论】:

  • 推拉时遇到什么错误?
  • 再次检查问题我添加了错误
  • 您是否使用正确的用户进行连接?
  • 是的。但是等一下,为什么我在使用 ssh 身份验证时需要用户?
  • 您是否启动了 ssh-agent 并使用 ssh-add 加载了私钥?

标签: git ubuntu github ssh


【解决方案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 文件无关 .

【讨论】:

    猜你喜欢
    • 2014-03-18
    • 1970-01-01
    • 2020-01-04
    • 2013-11-08
    • 2016-11-01
    • 2014-02-01
    • 2020-07-02
    • 1970-01-01
    相关资源
    最近更新 更多