赞
踩
问题描述:
当您尝试从GitHub仓库拉取或推送代码时,可能会遇到这样的错误信息:“git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.” 这类似于您试图进入一间锁着的房间,但您没有正确的钥匙。
解决步骤:
检查您的钥匙串:
ssh-add -l
来检查您是否已有SSH密钥,即访问GitHub的“钥匙”。ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
把新钥匙挂到钥匙串上:
ssh-add ~/.ssh/id_rsa
告诉管理员(GitHub)您的新钥匙:
~/.ssh/id_rsa.pub
文件,复制里面的内容。这就是您的公钥,相当于钥匙的副本。测试门锁:
ssh -T git@github.com
尝试开门(推送代码):
git push origin main
如果在执行这些步骤后,问题仍然存在,您可能需要检查是否有多个SSH密钥或其他特殊配置问题。
当您运行 ssh-keygen
命令时,系统会引导您完成几个步骤,就像制作一把特殊钥匙的过程:
选择钥匙存放地点:
C:\Users\您的用户名/.ssh/id_rsa
。设置钥匙的密码保护(可选):
完成这些步骤后,您将拥有一对新的SSH密钥,包括一个公钥(相当于钥匙的副本)和一个私钥(相当于实际的钥匙)。接下来,您需要将公钥添加到GitHub,并测试您的SSH连接。
当您运行 ssh-keygen
命令以生成SSH密钥时,系统会执行一系列操作并提供一些反馈信息。下面是这个过程的详细步骤和每一步所展示的信息:
启动生成过程:
ssh-keygen -t rsa -b 4096 -C "您的邮箱地址"
时,系统开始创建一个新的SSH密钥对。选择密钥保存位置:
设置密码短语(可选):
确认密码短语:
密钥生成完成:
Your identification has been saved in C:\Users\25451/.ssh/id_rsa
Your public key has been saved in C:\Users\25451/.ssh/id_rsa.pub
密钥指纹和Randomart图像:
The key fingerprint is:
SHA256:azNoG0XUiqPo3qrMvYguXfi1YLQH8Tx3D+qkEZfkGGA 2545197649@qq.com
The key's randomart image is:
+---[RSA 4096]----+
| E. .. |
| .. ... . |
| + *.o |
| o O.* o |
| + + *So o |
| o * +oo. . |
| o + ++*= |
|= =...o+.o |
|=Bo+o . |
+----[SHA256]-----+
完成这些步骤后,您的SSH密钥对就创建好了。您的私钥(id_rsa文件)是您个人保留的,而公钥(id_rsa.pub文件)需要添加到GitHub账户中,以便进行安全的通信。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。