🗺️博客地图
一、报错发现
使用git从github上拉取代码,遇到 git@github.com: Permission denied (publickey).
这个错误通常意味着本机的SSH密钥没有被GitHub识别或配置不正确。需要把本机公钥配置到github。
二、问题解决
1、生成SSH密钥
① 查看是否有密钥目录
[root@localhost ~]# ls -a ~/.ssh
② 没有需要创建密钥目录并赋权
[root@localhost ~]# mkdir -p ~/.ssh
[root@localhost ~]# chmod 700 ~/.ssh
③ 生成密钥对文件
-t rsa
指定密钥类型为RSA
-b 4096
指定密钥长度为4096位(这是一种安全的选择)
-C
后面跟的是你的电子邮件地址(这是一个注释,用于帮助识别密钥,不是必需的)
[root@localhost ~]# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
④ 查看密钥文件
生成密钥后,你应该在~/.ssh
目录下看到两个新文件:id_rsa
(私钥)和id_rsa.pub
(公钥)。可以使用ls -l ~/.ssh
命令来验证它们的存在。
# 查看公钥文件内容
[root@localhost ~]# cat ~/.ssh/id_rsa.pub
2、将公钥添加到GitHub
① 登录GitHub
② 在GitHub上,进入账户设置(点击右上角的头像 -> Settings)
③ 在左侧边栏中,点击“SSH and GPG keys”(SSH和GPG密钥)
④ 添加新的SSH密钥
在“SSH keys”部分,点击“New SSH key”(新建SSH密钥)按钮。
在“Title”(标题)字段中,输入一个描述性的标题,比如你的计算机名称或电子邮件地址,以便识别这个密钥,在“Key”(密钥)字段中,粘贴你从id_rsa.pub
文件复制的公钥内容
点击“Add SSH key”(添加SSH密钥)按钮保存
三、结果测试
① 打开命令行工具
② 使用SSH命令测试连接
输入以下命令来测试SSH连接:
[root@localhost ~]# ssh -T git@github.com
③ 验证输出
如果SSH连接成功,你将看到一条类似于以下内容的消息:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
完美,打完收工!