返回

如何解决 GitHub 上“权限被拒绝”错误?生成 SSH 密钥详解

windows

解决 GitHub 上“权限被拒绝”错误:生成 SSH 密钥

简介

在使用 Git 时,遇到“Permission denied (public key)”错误,意味着需要为 GitHub 账户生成 SSH 密钥。这篇文章将指导你在 Windows 计算机上生成 SSH 密钥,并解决这一错误。

生成 SSH 密钥

安装 Git Bash

如果你还没有安装 Git Bash,请从官方网站下载并安装。

打开 Git Bash

打开 Git Bash,这是一个命令行工具,用于生成 SSH 密钥。

输入生成密钥命令

输入以下命令:

ssh-keygen -t rsa -C "[your_email_address]"

将 "[your_email_address]" 替换为关联 GitHub 账户的电子邮件地址。

输入密码(可选)

系统将提示你输入一个密码来保护私钥。你可以输入密码或按 Enter 键跳过此步骤。

添加公钥到 GitHub

查找 SSH 密钥

SSH 密钥将存储在以下目录中:

  • Windows:C:\Users\[你的用户名]\.ssh
  • Mac/Linux:~/.ssh

你应该会看到两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。

复制并粘贴公钥

复制 id_rsa.pub 文件的内容,然后将其粘贴到 GitHub 账户的 SSH 密钥部分。

  • 打开 GitHub 网站并登录。
  • 点击个人资料图片。
  • 选择“Settings”。
  • 在边栏菜单中,选择“SSH and GPG keys”。
  • 单击“New SSH key”按钮。
  • 在“Key title”字段中输入一个标题。
  • 在“Key”字段中粘贴公钥的内容。
  • 单击“Add SSH key”按钮。

尝试推送更改

现在你已经添加了 SSH 密钥,可以尝试再次推送更改到 GitHub:

git push -u origin master

常见问题解答

确保使用正确的密钥

检查 id_rsa 文件是否位于与 SSH 配置文件相同的目录中。

使用绝对路径

ssh-keygen 命令中使用绝对路径,例如 C:/Users/[你的用户名]/.ssh/id_rsa

检查权限

确保对 .ssh 目录有读写权限。

更新 .gitconfig 文件

如果问题仍然存在,请尝试在 .gitconfig 文件中添加以下行:

Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa

结论

按照这些步骤,你可以生成 SSH 密钥并解决 GitHub 上的“权限被拒绝”错误。这样,你就可以安全地推送和拉取代码到你的 GitHub 存储库。