解决 Git 提示 'Permission denied (publickey). Could not read from remote repository' 错误

作者:暴富20212024.01.29 17:31浏览量:8

简介:在使用 Git 访问 GitHub 时,可能会遇到 'Permission denied (publickey). Could not read from remote repository' 错误。这个错误通常表示你尝试使用的 SSH 公钥不在 GitHub 的允许列表中。下面是一些解决这个问题的步骤。

在使用 Git 访问 GitHub 时,如果你遇到 ‘Permission denied (publickey). Could not read from remote repository’ 错误,这通常意味着你尝试使用的 SSH 公钥不在 GitHub 的允许列表中。这个问题可以通过以下几个步骤解决:

  1. 检查你的 SSH 公钥:首先,你需要确认你正在使用的 SSH 公钥是否正确。你可以在本地机器上找到你的 SSH 公钥。对于大多数用户,公钥位于 ~/.ssh/id_rsa.pub。你可以使用以下命令查看这个文件的内容:
    1. cat ~/.ssh/id_rsa.pub
    请确保你记住了这个公钥的内容,因为稍后需要将其添加到 GitHub。
  2. 将 SSH 公钥添加到 GitHub:接下来,你需要在 GitHub 的设置页面中将你的 SSH 公钥添加到允许列表中。
  3. 重新生成 SSH 公钥:如果以上步骤不能解决问题,可能是因为你的 SSH 公钥已经损坏或者不正确。在这种情况下,你可以尝试重新生成一个新的 SSH 公钥。使用以下命令可以删除现有的公钥:
    1. ssh-keygen -f ~/.ssh/id_rsa -y -N ''
    然后,你可以再次查看新的公钥并将其添加到 GitHub 的允许列表中。
  4. 检查防火墙和安全软件:有时候,防火墙或者安全软件可能会阻止 SSH 连接。确保你的防火墙和安全软件允许 SSH 连接。
  5. 检查 .ssh/config 文件:如果你有多个 SSH 公钥或者使用了多个主机别名,你可能需要在 .ssh/config 文件中配置它们。这个文件应该位于你的用户主目录下。确保该文件中的配置是正确的,特别是 HostIdentityFile 配置项。
  6. 使用 HTTPS 代替 SSH:如果你不想处理 SSH 公钥的问题,你可以尝试使用 HTTPS 来代替 SSH。在 GitHub 的仓库克隆 URL 中,将 git@github.com: 替换为 https://github.com/。然后,你可以尝试再次克隆仓库。
    通过以上步骤,你应该能够解决 ‘Permission denied (publickey). Could not read from remote repository’ 错误。如果问题仍然存在,你可能需要检查其他可能的配置问题或者联系 GitHub 的支持团队寻求帮助。