0


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

在这里插入图片描述

Github SSH密钥错误解决指南

问题描述
当您尝试从GitHub仓库拉取或推送代码时,可能会遇到这样的错误信息:“git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.” 这类似于您试图进入一间锁着的房间,但您没有正确的钥匙。

解决步骤

  1. 检查您的钥匙串:- 在终端运行 ssh-add -l 来检查您是否已有SSH密钥,即访问GitHub的“钥匙”。- 如果没有,想象您需要制作一把新钥匙。运行以下命令来创建它:ssh-keygen -t rsa -b4096-C"[email protected]"
  2. 把新钥匙挂到钥匙串上:- 使用以下命令将新生成的SSH密钥添加到SSH-Agent,就像把新钥匙挂到钥匙串上一样:ssh-add ~/.ssh/id_rsa
  3. 告诉管理员(GitHub)您的新钥匙:- 打开 ~/.ssh/id_rsa.pub 文件,复制里面的内容。这就是您的公钥,相当于钥匙的副本。- 登录GitHub,进入“Settings” -> “SSH and GPG keys”,点击“New SSH key”,粘贴您的公钥内容。
  4. 测试门锁:- 运行以下命令,检查您是否能与GitHub成功通信:ssh-T [email protected]- 如果系统显示“Hi [Your GitHub Username]! You’ve successfully authenticated…”,则表示成功。
  5. 尝试开门(推送代码):- 现在尝试推送代码到GitHub:git push origin main

如果在执行这些步骤后,问题仍然存在,您可能需要检查是否有多个SSH密钥或其他特殊配置问题。

附:第1步中生成SSH密钥的详细步骤(终端会弹出交互)

当您运行

ssh-keygen

命令时,系统会引导您完成几个步骤,就像制作一把特殊钥匙的过程:

  1. 选择钥匙存放地点:- 系统会询问您希望将密钥保存在哪个位置,默认路径是 C:\Users\您的用户名/.ssh/id_rsa。- 您可以接受默认路径,或者指定一个新的存放地点。
  2. 设置钥匙的密码保护(可选):- 系统会询问您是否要为这把钥匙设置密码保护。这就像为您的钥匙设置一个密码,增加安全性。- 您可以选择设置一个密码,也可以不设置,直接按Enter键。

完成这些步骤后,您将拥有一对新的SSH密钥,包括一个公钥(相当于钥匙的副本)和一个私钥(相当于实际的钥匙)。接下来,您需要将公钥添加到GitHub,并测试您的SSH连接。
当您运行

ssh-keygen

命令以生成SSH密钥时,系统会执行一系列操作并提供一些反馈信息。下面是这个过程的详细步骤和每一步所展示的信息:

  1. 启动生成过程:- 当您在终端输入 ssh-keygen -t rsa -b 4096 -C "您的邮箱地址" 时,系统开始创建一个新的SSH密钥对。- 这相当于制作一对高安全性的钥匙和钥匙副本。
  2. 选择密钥保存位置:- 系统会询问您希望将密钥保存在哪里。例如:“Enter file in which to save the key (C:\Users\25451/.ssh/id_rsa):”。- 您可以接受默认路径,或输入一个新的路径。这就像选择将您的钥匙放在哪个抽屉里。
  3. 设置密码短语(可选):- 系统会询问您是否要为密钥设置一个密码短语:“Enter passphrase (empty for no passphrase):”。- 您可以设置一个密码短语,增加额外的安全层次,或直接按Enter键跳过。这相当于为您的钥匙加上一个密码锁。
  4. 确认密码短语:- 如果您设置了密码短语,系统会要求您再次输入以确认:“Enter same passphrase again:”。- 确认后,继续下一步。
  5. 密钥生成完成:- 当密钥生成完毕,系统会显示相关信息,例如:Your identification has been saved in C:\Users\25451/.ssh/id_rsaYour public key has been saved in C:\Users\25451/.ssh/id_rsa.pub- 这告诉您私钥(identification)和公钥(public key)的保存位置。
  6. 密钥指纹和Randomart图像:- 系统还会显示密钥的指纹和Randomart图像,例如:The key fingerprint is:SHA256:azNoG0XUiqPo3qrMvYguXfi1YLQH8Tx3D+qkEZfkGGA [email protected] 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账户中,以便进行安全的通信。

标签: git github ssh

本文转载自: https://blog.csdn.net/lythinking/article/details/135071417
版权归原作者 Aitrainee 所有, 如有侵权,请联系我们删除。

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

还没有评论