GitHub生成SSH密钥,

GitHub会通过SSH密钥来验证你的身份,确保你有权限克隆、推送或拉取代码。

对于公开仓库,你不需要额外的权限,只需确保SSH密钥已正确配置并可以通过GitHub验证。公开仓库允许任何人克隆,即使仓库属于他人,只要你通过SSH身份验证即可。

对于公开仓库的操作步骤总结:

  1. 生成并配置SSH密钥
  2. 将公钥添加到GitHub账户
  3. 测试SSH连接确保可以与GitHub通信。
  4. 克隆仓库,即便是别人的公开仓库,

照以下步骤生成SSH密钥,并将公钥添加到GitHub账户中:
这个错误是由于SSH密钥未正确配置或未添加到GitHub账户中导致的。GitHub通过SSH进行身份验证时,需要确保本地机器的SSH公钥已经被添加到你的GitHub账户中。

你可以按照以下步骤进行操作:

1. 生成SSH密钥(如果还没有的话)

首先,检查是否已经有SSH密钥,使用以下命令:

ls -al ~/.ssh

如果文件夹中有id_rsa.pubid_ed25519.pub,说明已经有密钥;如果没有,生成新的SSH密钥:

1. 生成SSH密钥

运行以下命令生成SSH密钥:

ssh-keygen -t ed25519 -C "your_email@example.com"  

如果你使用的系统不支持ed25519,可以使用RSA:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

生成密钥时,系统会提示你选择保存的位置,建议直接按回车键使用默认位置(~/.ssh/id_ed25519~/.ssh/id_rsa),并可以选择是否设置密码。

2. 添加SSH密钥到ssh-agent

接下来,启动ssh-agent并将生成的私钥添加到代理中:

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

如果使用RSA密钥,命令为:

ssh-add ~/.ssh/id_rsa

3. 将SSH公钥添加到GitHub

使用以下命令查看公钥内容:

cat ~/.ssh/id_ed25519.pub

如果使用RSA密钥:

cat ~/.ssh/id_rsa.pub

复制公钥内容。然后:

  1. 登录到你的GitHub账户。
  2. 前往 GitHub SSH keys settings 页面。
  3. 点击“New SSH key”。
  4. 将复制的公钥粘贴到文本框中,给密钥起个名字,然后保存。

4. 测试SSH连接

添加公钥后,你可以使用以下命令测试SSH连接是否成功:

ssh -T git@github.com

如果配置正确,你会看到类似以下的信息:

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

5. 重新克隆仓库

最后,使用SSH重新克隆仓库:

git clone git@github.com:ShiqiYu/CPP.git

这样就可以解决“Permission denied (publickey)”问题,成功克隆别人的仓库。

如果你在操作过程中遇到问题,请告诉我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试学习笔记丨Linux三剑客-grep

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32506 一、简介 1.1 grep命令 grep是一个全局查找正则表达式,并且打印结果行的命令。grep的输入是一个文件或者一个标准输入(stdin),或者是一…

【C语言】指针练习题

一、指针指向问题 int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } 结果为:2,5。&a是整个数组(&a 1)被强转为(int*&am…

成都睿明智科技有限公司共创抖音电商新篇章

在当今这个数字化浪潮汹涌的时代,抖音电商以其独特的魅力迅速崛起,成为众多商家竞相追逐的新蓝海。在这片充满机遇与挑战的领域中,成都睿明智科技有限公司凭借其专业的服务、创新的策略和敏锐的市场洞察力,成为了众多商家信赖的合…

图像增强论文精读笔记-Kindling the Darkness: A Practical Low-light Image Enhancer(KinD)

1. 论文基本信息 论文标题:Kindling the Darkness: A Practical Low-light Image Enhancer 作者:Yonghua Zhang等 发表时间和期刊:2019;ACM MM 论文链接:https://arxiv.org/abs/1905.04161 2. 研究背景和动机 现有…

第十一章 RabbitMQ之消费者确认机制

目录 一、介绍 二、演示三种ACK方式效果 2.1. none: 不处理 2.1.1. 消费者配置代码 2.1.2. 生产者主要代码 2.1.3. 消费者主要代码 2.1.4. 运行效果 2.2. manual:手动模式 2.3. auto:自动模式 一、介绍 消费者确认机制(Consume…

GPT 生成绘画_Java语言例子_超详细

基于spring ai :简化Java AI开发,提升效率与维护性 过去在使用Java编写AI应用时,主要困境在于缺乏统一的标准化封装,开发者需要针对不同的AI服务提供商查阅各自独立的文档并进行接口对接,这不仅增加了开发的工作量&am…

python常用的字符串方法

一、求字符串的长度 python最常用的内置函数 二、切片获取子串 获取前第5个字符 print(s[:5]) # wuzij 获取后6个字符 print(s[-6:]) # python 三、去掉多余空格 四、是否以某个串开头 五、是否包含某个子串 六、串联多串 七、分割多串 八、替换子串

删除右键PDF文件时出现的多余快捷键 - 右键管理软件推荐 - ‘‘ContextMenuManger’’

1. 删除右键PDF文件时出现的多余快捷键 /* File: notes.mdProject: A3_2_关闭右键PDF时流氓程序File Created: Saturday, 12th October 2024 9:05:54 pmAuthor: Hanlin Gu (hg_fine_codes163.com)Last Modified: Saturday, 12th October 2024 9:31:06 pmModified By: HG (hg_…

在线白板网页版哪个好?5个常用协同办公工具分享!

在线白板是一种可以轻松实时创建、共享和协作处理视觉内容的软件。使用这些工具时,人们可以绘图、输入文本、创建便签和合并多媒体。归根结底,在线白板是一个数字空间,团队可以聚集在一起集思广益、制定计划和执行,无论他们身在何…

后端开发必知:BeanUtils 如何在 DTO 与 VO 间巧妙复制数据

作为一名后端开发者,我们深知数据安全的重要性,尤其是像手机号、身份证号等关键数据。 为了防止关键数据泄露,JAVA领域,基本都采用了 VO(Value Object)和 DTO(Data Transfer Object&#xff09…

MySQL UDF提权原理

文章目录 前言一、MySQL架构二、什么是UDF三、UDF提权原理四、MSF实战参考 前言 看了许多视频和文章,对UDF提权讲得都不是很清楚,遂搜索了一下MySQL的基础知识,总结了一下,供各位初学的师傅参考。 一、MySQL架构 首先&#xff…

【人工智能】探索最强AI工具:实际应用与影响

随着人工智能(AI)技术的迅猛发展,AI工具已经深入到人们日常生活和工作的方方面面。这些工具不仅提高了生产力,还改变了我们解决问题和处理信息的方式。在中文互联网和国际市场中,众多AI工具已成为人们工作、学习、创作…

深度学习 nd.arange()

在 MXNet 中,nd.arange() 是一个用于生成均匀间隔的数值数组的函数。它的功能类似于 NumPy 的 arange() 函数。下面是 nd.arange() 的一些基本用法: 语法 mx.nd.arange(start, stopNone, step1, dtypeNone, ctxNone) 参数 start:可选&…

entity,pojo,vo,dto 详解

在Java项目中,包名通常用于组织代码,使其更加清晰和易于维护。entity、pojo、vo和dto是常见的包名,它们各自有不同的含义和用途。下面将详细解释这些包名的含义,并提供一个示例,帮助你更好地理解它们在项目中的应用。 …

C# Json文件写入、读取 ,Json文件序列化、反序列化

在C#中,处理JSON文件的写入、读取、序列化和反序列化是一个常见的需求,特别是在需要与前端JavaScript应用进行数据交换或配置文件管理的场景中。下面将分别介绍如何使用.NET自带的System.Text.Json命名空间(从.NET Core 3.0开始引入&#xff…

【部署篇】Redis-03主从模式部署(源码方式安装)

一、准备主机 主从模式只是解决了数据备份容灾并不能解决单点故障问题,生产环境中需要在主从模式基础上增加哨兵,实现主节点宕机时自动将其中一个重节点设置为新的主节点。 主机IP角色说明192.168.128.31master,主节点可读写。192.168.128…

Ultralytics_yolov10目标检测,预处理函数入口

日期:2024.10.7. 随着Ultralytics的更新,yolov5-v11可以统一使用Ultralytics包体,我之前分析的yolov5关键代码定位在Ultralytics中不适用,这篇博客更新一下。 1. Ultralytics包体版本: $ pip list | grep ultralytic…

git删除错误的commit

文章目录 1、git删除错误的commit2、.gitignore配置文件不生效的问题 1、git删除错误的commit git的流程如图: 当某次失误造成commit的版本有问题,需要回退到正常的版本修改后重新add。 首先通过git log查看commit提交记录,可以看到HEAD-…

公网IP and 局域网IP

Part 1 Java获取公网IP 在Java中获取公网IP地址(即外部IP地址,而非局域网地址)通常需要借助外部服务,因为Java本身没有直接获取公网IP地址的API。你可以通过向一个外部服务发送HTTP请求,然后解析其返回的响应来获取公…

JAVA毕业设计191—基于Java+Springboot+vue的电子产品商城管理系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue的电子产品商城管理系统(源代码数据库)191 一、系统介绍 本项目前后端不分离,分为用户、管理员两种角色 1、用户: 注册、登录、商品…