兜兜零元 发表于 5 天前

GitHub新手必看:SSH密钥设置和‘Permission Denied‘错误解决指南

https://i-blog.csdnimg.cn/blog_migrate/8c40018859e797e3a3b7ab38072da6b2.png
Github SSH密钥错误解决指南

问题形貌:
当您实验从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密钥添加到SSH-Agent,就像把新钥匙挂到钥匙串上一样:ssh-add ~/.ssh/id_rsa


[*] 告诉管理员(GitHub)您的新钥匙:

[*]打开 ~/.ssh/id_rsa.pub 文件,复制内里的内容。这就是您的公钥,相当于钥匙的副本。
[*]登录GitHub,进入“Settings” -> “SSH and GPG keys”,点击“New SSH key”,粘贴您的公钥内容。

[*] 测试门锁:

[*]运行以下下令,检查您是否能与GitHub乐成通讯:ssh -T git@github.com

[*]如果系统显示“Hi ! You’ve successfully authenticated…”,则表示乐成。

[*] 实验开门(推送代码):

[*]现在实验推送代码到GitHub:git push origin main


如果在执行这些步调后,问题仍然存在,您可能需要检查是否有多个SSH密钥或其他特别设置问题。
附:第1步中生成SSH密钥的详细步调(终端会弹出交互)

当您运行 ssh-keygen 下令时,系统会引导您完成几个步调,就像制作一把特别钥匙的过程:

[*] 选择钥匙存放所在:

[*]系统会询问您盼望将密钥生存在哪个位置,默认路径是 C:\Users\您的用户名/.ssh/id_rsa。
[*]您可以接受默认路径,或者指定一个新的存放所在。

[*] 设置钥匙的暗码保护(可选):

[*]系统会询问您是否要为这把钥匙设置暗码保护。这就像为您的钥匙设置一个暗码,增加安全性。
[*]您可以选择设置一个暗码,也可以不设置,直接按Enter键。

完成这些步调后,您将拥有一对新的SSH密钥,包括一个公钥(相当于钥匙的副本)和一个私钥(相当于实际的钥匙)。接下来,您需要将公钥添加到GitHub,并测试您的SSH毗连。
当您运行 ssh-keygen 下令以生成SSH密钥时,系统会执行一系列操作并提供一些反馈信息。下面是这个过程的详细步调和每一步所展示的信息:

[*] 启动生成过程:

[*]当您在终端输入 ssh-keygen -t rsa -b 4096 -C "您的邮箱地点" 时,系统开始创建一个新的SSH密钥对。
[*]这相当于制作一对高安全性的钥匙和钥匙副本。

[*] 选择密钥生存位置:

[*]系统会询问您盼望将密钥生存在哪里。例如:“Enter file in which to save the key (C:\Users\25451/.ssh/id_rsa):”。
[*]您可以接受默认路径,或输入一个新的路径。这就像选择将您的钥匙放在哪个抽屉里。

[*] 设置暗码短语(可选):

[*]系统会询问您是否要为密钥设置一个暗码短语:“Enter passphrase (empty for no passphrase):”。
[*]您可以设置一个暗码短语,增加额外的安全条理,或直接按Enter键跳过。这相当于为您的钥匙加上一个暗码锁。

[*] 确认暗码短语:

[*]如果您设置了暗码短语,系统会要求您再次输入以确认:“Enter same passphrase again:”。
[*]确认后,继承下一步。

[*] 密钥生成完成:

[*]当密钥生成完毕,系统会显示相干信息,例如: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

[*]这告诉您私钥(identification)和公钥(public key)的生存位置。

[*] 密钥指纹和Randomart图像:

[*]系统还会显示密钥的指纹和Randomart图像,例如:The key fingerprint is:
SHA256:azNoG0XUiqPo3qrMvYguXfi1YLQH8Tx3D+qkEZfkGGA 2545197649@qq.com
The key's randomart image is:
+-------+
|    E...       |
|   .. ... .      |
|   + *.o       |
|    o O.* o      |
|   + + *So o   |
|o * +oo..    |
| o + ++*=      |
|= =...o+.o       |
|=Bo+o .          |
+---------+

[*]这些信息提供了您的密钥的一个视觉和加密择要。

完成这些步调后,您的SSH密钥对就创建好了。您的私钥(id_rsa文件)是您个人生存的,而公钥(id_rsa.pub文件)需要添加到GitHub账户中,以便进行安全的通讯。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: GitHub新手必看:SSH密钥设置和‘Permission Denied‘错误解决指南