解决 Git 无法从远程仓库读取的权限问题

作者:JC2024.02.04 11:20浏览量:58

简介:在使用 Git 连接到 GitHub 时,你可能会遇到 'Permission denied (publickey). Could not read from remote repository' 的错误。这通常是因为没有向 GitHub 证明你的公钥身份,或者公钥已过期。下面是一些解决此问题的步骤。

在使用 Git 连接到 GitHub 时,你可能会遇到一个常见的错误,即 ‘Permission denied (publickey). Could not read from remote repository’。这个问题通常是由于以下原因之一造成的:

  1. 你没有向 GitHub 证明你的公钥身份。当你首次尝试推送到 GitHub 时,你需要添加一个公钥到你的账户。这个公钥是你的SSH密钥,用于验证你的身份。如果你没有添加公钥,或者添加的公钥已过期,你将会看到这个错误消息
  2. 你正在使用的 SSH 密钥可能不正确或者已过期。如果你确信你已经添加了正确的公钥,但仍然遇到这个错误,那么可能是你的 SSH 密钥出了问题。
    为了解决这个问题,你可以按照以下步骤操作:
  3. 检查你是否已经添加了公钥到 GitHub 账户。你可以在 GitHub 的设置页面找到一个 ‘SSH keys’ 的选项,这里列出了你的所有公钥。如果你没有看到你的公钥,你可以点击 ‘Add key’ 按钮,然后粘贴你的公钥到文本框中。
  4. 检查你的 SSH 密钥是否正确。你可以在你的本地计算机上找到你的 SSH 密钥。默认情况下,它们位于以下两个位置之一:~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub。你可以使用以下命令检查它们:
    1. ls -al ~/.ssh
    如果这两个文件不存在,你可能需要生成一个新的 SSH 密钥。你可以使用以下命令生成一个新的 SSH 密钥:
    1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    然后,你需要将新生成的公钥添加到 GitHub 账户。
  5. 如果你的公钥已经添加到 GitHub 账户,但你仍然看到这个错误,那么可能是你的 SSH 密钥已过期。你可以使用以下命令更新你的 SSH 密钥:
    1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    然后,你需要将新生成的公钥再次添加到 GitHub 账户。
  6. 如果以上步骤都无法解决问题,你可能需要清除你的 SSH 密钥缓存。你可以通过以下命令完成这个操作:
    1. ssh-add -D
    然后,你可以尝试重新添加你的 SSH 密钥到你的 GitHub 账户。
    希望这些步骤能帮助你解决 ‘Permission denied (publickey). Could not read from remote repository’ 的问题。如果你仍然遇到问题,你可能需要联系 GitHub 的支持团队寻求帮助。