返回 更新
如何解决 GitHub 上“权限被拒绝”错误?生成 SSH 密钥详解
windows
2024-03-14 14:28:07
解决 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 存储库。