解决 Git 在使用时出现 'git@github.com: Permission denied (publickey).' 错误

作者:carzy2024.02.04 11:20浏览量:187

简介:解决 Git 在使用时出现 'git@github.com: Permission denied (publickey).' 错误的方法包括生成 SSH 密钥、将公钥添加到 GitHub 账户以及检查 Git 和 SSH 的配置。确保你使用正确的路径和用户名,并检查网络连接和防火墙设置是否允许 SSH 通信。

首先,你需要确认是否已经为你的 GitHub 账户配置了 SSH 密钥。你可以在 GitHub 的个人设置中查看或添加 SSH 密钥。如果你还没有生成 SSH 密钥,你可以按照以下步骤操作:

  1. 打开终端或命令提示符。
  2. 输入以下命令,按回车键:
    1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    这将生成一对公钥和私钥。请记住,你可以在生成的密钥对中替换 your_email@example.com 为你自己的电子邮件地址。
  3. 接下来,你将看到有关保存密钥的提示。你可以使用默认路径(通常在 ~/.ssh/id_rsa),或者选择一个你喜欢的路径。如果你选择了一个自定义路径,请确保在接下来的步骤中使用正确的路径。
  4. 当你完成上述步骤后,你可以使用以下命令将公钥添加到你的 GitHub 账户:
    1. cat ~/.ssh/id_rsa.pub | ssh [your_username]@github.com 'cat >> .ssh/authorized_keys'
    请将 [your_username] 替换为你的 GitHub 用户名。这将把公钥添加到你的 GitHub 账户的 authorized_keys 文件中,从而使你的 Git 客户端能够通过 SSH 与 GitHub 进行通信。
    如果你已经有了 SSH 密钥,但是仍然遇到 ‘Permission denied (publickey).’ 错误,可能是因为你的 Git 客户端没有正确配置 SSH 密钥。在这种情况下,你需要检查以下事项:
  5. 检查你是否在正确的位置找到了 SSH 密钥文件。如果你在步骤3中选择了一个自定义路径,请确保在后续步骤中使用该路径。
  6. 检查你的 SSH 密钥是否已添加到 GitHub 的 authorized_keys 文件中。你可以通过在终端中运行以下命令来验证:
    1. cat ~/.ssh/id_rsa.pub | ssh [your_username]@github.com 'cat >> .ssh/authorized_keys'
  7. 检查你的 SSH 密钥是否正确地添加到了 Git 的配置中。你可以通过在终端中运行以下命令来检查:
    1. ssh -T [your_username]@github.com
    如果一切配置正确,你将看到一条欢迎消息,表明你的 Git 客户端已成功通过 SSH 与 GitHub 进行通信。如果仍然出现错误消息,可能是由于其他问题,如网络连接问题或防火墙设置。在这种情况下,你可能需要检查你的网络连接和防火墙设置。
    请注意,如果你使用的是 Windows 系统,你可能需要安装额外的软件来使用 SSH,如 Git Bash 或 Windows Subsystem for Linux (WSL)。如果你在使用 Windows 时遇到问题,可以尝试使用这些工具来运行上述命令。