GitHub SSH 连接问题解决方案

GitHub SSH 连接问题解决方案

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

场景复现

在拉取项目时报错,查看文档后发现是需要设置访问密钥

image-20240824220004321

生成密钥:期间一直回车即可,生成的文件一般放在 ~/.ssh

ssh-keygen -t rsa -b 4096 -C "your_email@xxx.com"
image-20240824220336388

问题描述

在执行了 ssh-keygen -t rsa -b 4096 -C "2755622754@qq.com" 命令生成 SSH 密钥对后,尝试将公钥添加到 GitHub 服务器时遇到以下错误:

Permission denied (publickey).

该错误发生在执行以下命令时:

cat ~/.ssh/id_rsa.pub | ssh makappt@github.com 'cat >> .ssh/authorized_keys'

以及在尝试连接 GitHub 时出现:

ssh -T makappt@github.com

解决方案步骤

1. 检查 SSH 密钥是否已添加到 SSH Agent

首先,确保您的 SSH 私钥 (id_rsa) 已添加到 SSH Agent。执行以下命令:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

image-20240824220610113

此命令将启动 SSH Agent 并将您的私钥添加到其中。

2. 将 SSH 公钥添加到 GitHub 账户

您需要将生成的公钥 (id_rsa.pub) 添加到您的 GitHub 账户中。步骤如下:

  1. 复制公钥的内容:

    cat ~/.ssh/id_rsa.pub
    
  2. 打开 GitHub,导航到 Settings -> SSH and GPG keys,然后点击 New SSH key

  3. 将复制的公钥内容粘贴到 GitHub 中,并为该密钥命名。

  4. 保存密钥。

3. 测试 SSH 连接

将公钥添加到 GitHub 后,测试 SSH 连接:

ssh -T git@github.com

如果一切设置正确,您应该会看到如下提示:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

4. 检查文件权限

确保 SSH 密钥文件具有正确的权限。私钥 (id_rsa) 应该只对您自己可读。可以通过以下命令设置正确的权限:

chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

Permission denied (publickey).这个错误的原因我觉得可能是之前的文件权限不够导致的,但我懒得验证了,手动复制到GitHub即可

5. 验证 SSH 配置(可选)

如果您有多个 SSH 密钥或自定义配置,请验证 ~/.ssh/config 文件是否正确配置以连接 GitHub。可以添加如下配置:

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值