GitHub配置密钥

news2025/4/18 2:55:42

 

1.生成SSH密钥

 1)检查 SSH 密钥是否存在

首先,确认是否已经在本地系统中生成了 SSH 密钥对。可以通过以下命令检查:

ls -al ~/.ssh

在命令输出中,应该能看到类似 id_rsaid_rsa.pub 这样一对文件。如果这些文件不存在,表示你还没有创建 SSH 密钥对。

2)密钥不存在时
打开终端并输入以下命令(-C 后是你GitHub的邮箱地址):

Windows下请在:Git Bash下操作

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

这个命令会生成一个 RSA 类型的 SSH 密钥对,长度为 4096 位,并将你的电子邮件作为注释。命令运行之后,你会被提示选择存储路径,可以按 Enter 直接使用默认路径,即 ~/.ssh/id_rsa。接着系统会提示你输入一个密码短语,这个短语可以为空,但为了安全性考虑,最好设定一个。

 

 # 按 Enter 保存密钥到默认路径 (/home/username/.ssh/id_rsa)。

# 与Linux类似,Windows ssh保存使用默认路径(C:\Users\YourUsername\.ssh\id_rsa)。 

# macOS的默认路径(/Users/username/.ssh/id_rsa)

确认保存路径及设置密码

系统会提示你确认文件保存路径,按 Enter 使用默认路径。
然后会提示你输入密码(可以留空),输入完成后生成两个文件:
id_rsa: 私钥
id_rsa.pub: 公钥

 

2.获取公钥并复制(准备粘贴到Github)

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

cat ~/.ssh/id_rsa.pub

 复制输出的内容,这是需要添加到GitHub上的公钥。

 

3.在GitHub中添加SSH密钥

登录GitHub,在右上角点击头像,进入 Settings=> Access => SSH and GPG keys 中点击 New SSH key

输入密钥名称(例如“SSH_KEY”),在 Key 中粘贴刚才复制的公钥,点击 Add SSH key

 

4. 检查 SSH 配置文件(选填)

有时候,如果配置了多个 SSH 密钥,Git 可能不知道应该使用哪一个。此时,我们可以编辑 SSH 配置文件 ~/.ssh/config 来进行指定。可以使用以下命令编辑该文件:

nano ~/.ssh/config

然后在文件中添加以下内容:

Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa

上述配置明确指定了在连接 GitHub 时使用的私钥文件 ~/.ssh/id_rsa,从而避免多密钥的混淆。比如说,一个开发者可能有两个不同的 GitHub 账户,各自配置了不同的密钥,这时候通过 config 文件明确指定密钥是非常重要的。

5. 检查本地私钥权限

如果私钥文件的权限过于宽泛,例如对所有用户开放读写,SSH 客户端将拒绝加载该密钥,因为它不安全。 

确保本地私钥文件的权限是正确的,即只能由当前用户读取。可以使用以下命令修改权限:

chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

这个命令将 id_rsa 文件的权限设为仅拥有者可读写(600),确保密钥的安全性。

如果文件权限过于宽松,SSH 客户端会拒绝使用该密钥,因而无法认证。

6. 确保 SSH Agent 正常运行

SSH Agent 是一个守护进程,用于管理私钥的解密。

可以通过以下命令查看是否有 Agent 正在运行:

eval "$(ssh-agent -s)"

使用以下命令将密钥添加到 Agent 中:

ssh-add ~/.ssh/id_rsa

成功添加之后,再次尝试克隆代码仓库。如果未启动 Agent,系统会提示错误消息,通过上述步骤启动并添加密钥之后,应该就可以正常克隆代码了。

7.测试连接

使用以下命令测试SSH连接:

ssh -T git@github.com

 如果成功,GitHub会返回类似于“Hi username! You've successfully authenticated”的消息。

 

再次查看

 https://juejin.cn/post/7449552457295970358

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

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

相关文章

【2-10】E1与T1

前言 之前我们简单介绍了人类从电话线思维到如今的数据报分组交换思维过渡时期的各种技术产物,今天我们重点介绍 E1/T1技术。 文章目录 前言1. 产生背景2. T13. E14. SONET4.1 OC-14.2 OC-3 及其它 5. SDH5.1. STM-1 6. SONET VS SDH后记修改记录 1. 产生背景 E1/…

【设计模式】适配器模式:让不兼容的接口和谐共处

引言 在软件开发中,我们经常会遇到这样的情况:两个已经存在的接口无法直接协同工作,但我们又希望它们能够无缝对接。这时,适配器模式就派上用场了。适配器模式(Adapter Pattern)是一种结构型设计模式&…

Pandas进行数据预处理(标准化数据)③

数据标准化处理代码解析 数据标准化处理代码解析课前预习1. 离差标准化(Min - Max Scaling)结果2. 标准差标准化(Standard Scaling)结果3. 小数定标标准化(Decimal Scaling)结果 代码整体概述代码详细解析1…

基于uniapp 实现画板签字

直接上效果图 代码 <template><view class"container"><!-- 签名画布 --><view class"canvas-container"><canvas canvas-id"signCanvas" class"sign-canvas"touchstart"handleTouchStart"touc…

JDBC 初认识、速了解

目录 一. JDBC的简介 1. 数据的持久化 2. 什么是JDBC 二. JDBC中常用的类和接口 1. Driver 接口 2. DriverManager 类 3. Connection 接口 4. Statement 接口 5. PreparedStatement接口 6. ResultSet 接口 三. 总结 前言 从现在开始就来讲解JDBC的相关知识了 本文的…

(2025亲测可用)Chatbox多端一键配置Claude/GPT/DeepSeek-网页端配置

1. 资源准备 API Key&#xff1a;此项配置填写在一步API官网创建API令牌&#xff0c;一键直达API令牌创建页面创建API令牌步骤请参考API Key的获取和使用API Host&#xff1a;此项配置填写https://yibuapi.com/v1查看支持的模型请参考这篇教程模型在线查询 2. ChatBox网页版配…

4.vtk光照vtkLight

文章目录 VTK中的光照1. vtkLight 的两种类型&#xff1a;位置光照和方向光照2. vtkLight 的常用方法3. 方法命名风格4. vtkProp 的可见性与 vtkLight 的开关 示例 VTK中的光照 vtkLight: 用于定义一个或多个光源。每个光源可以有其颜色、位置、焦点等属性。 vtkActor: 每个vtk…

YOLOv2学习笔记

YOLOv2 背景 YOLOv2是YOLO的第二个版本&#xff0c;其目标是显著提高准确性&#xff0c;同时使其更快 相关改进&#xff1a; 添加了BN层——Batch Norm采用更高分辨率的网络进行分类主干网络的训练 Hi-res classifier去除了全连接层&#xff0c;采用卷积层进行模型的输出&a…

【YOLOv8改进 - 卷积Conv】PConv(Pinwheel-shaped Conv): 风车状卷积用于红外小目标检测, 复现!

YOLOv8目标检测创新改进与实战案例专栏 专栏目录: YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例 专栏链接: YOLOv8基础解析+创新改进+实战案例 文章目录 YOLOv8目标检测创新改进与实战案例专栏介绍摘要文章链…

Dockerfile项目实战-单阶段构建Vue2项目

单阶段构建镜像-Vue2项目 1 项目层级目录 以下是项目的基本目录结构&#xff1a; 2 Node版本 博主的Windows电脑安装了v14.18.3的node.js版本&#xff0c;所以直接使用本机电脑生成项目&#xff0c;然后拷到了 Centos 7 里面 # 查看本机node版本 node -v3 创建Vue2项目 …

Zabbix 简介+部署+对接Grafana(详细部署!!)

目录 一.Zabbix简介 1.Zabbix是什么 2.Zabbix工作原理&#xff08;重点&#xff09;​ 3.Zabbix 的架构&#xff08;重点&#xff09;​ 1.服务端 2.客户端&#xff1a; 4.Zabbix和Prometheus区别 二.Zabbix 部署 1.前期准备 2.安装zabbix软件源和组件 3.安装数据库…

Ubuntu2404装机指南

因为原来的2204升级到2404后直接嘎了&#xff0c;于是要重新装一下Ubuntu2404 Ubuntu系统下载 | Ubuntuhttps://cn.ubuntu.com/download我使用的是balenaEtcher将iso文件烧录进U盘后&#xff0c;使用u盘安装&#xff0c;默认选的英文版本&#xff0c; 安装后&#xff0c;安装…

Spring Cloud初探之使用load balance包做负载均衡(三)

一、背景说明 基于前一篇文章《Spring Cloud初探之nacos服务注册管理(二)》&#xff0c;我们已经将服务注册到nacos。接下来继续分析如何用Spring cloud的load balance做负载均衡。 load balance是客户端负载均衡组件。本质是调用方拿到所有注册的服务实例列表&#xff0c;然…

vector常用的接口和底层

一.vector的构造函数 我们都是只讲常用的。 这四个都是比较常用的。 第一个简单来看就是无参构造&#xff0c;是通过一个无参的对象来对我们的对象进行初始化的&#xff0c;第一个我们常用来当无参构造来使用。 第二个我们常用的就是通过多个相同的数字来初始化一个vector。 像…

【2025年3月中科院1区SCI】Rating entropy等级熵及5种多尺度,特征提取、故障诊断新方法!

引言 2025年3月&#xff0c;研究者在国际机械领域顶级期刊《Mechanical Systems and Signal Processing》&#xff08;JCR 1区&#xff0c;中科院1区 Top&#xff0c;IF&#xff1a;7.9&#xff09;上以“Rating entropy and its multivariate version”为题发表科学研究成果。…

【AI学习】李宏毅老师讲AI Agent摘要

在b站听了李宏毅2025最新的AI Agent教程&#xff0c;简单易懂&#xff0c;而且紧跟发展&#xff0c;有大量最新的研究进展。 教程中引用了大量论文&#xff0c;为了方便将来阅读相关论文&#xff0c;进一步深入理解&#xff0c;做了截屏纪录。 同时也做一下分享。 根据经验调整…

Nacos-Controller 2.0:使用 Nacos 高效管理你的 K8s 配置

作者&#xff1a;濯光、翼严 Kubernetes 配置管理的局限 目前&#xff0c;在 Kubernetes 集群中&#xff0c;配置管理主要通过 ConfigMap 和 Secret 来实现。这两种资源允许用户将配置信息通过环境变量或者文件等方式&#xff0c;注入到 Pod 中。尽管 Kubernetes 提供了这些强…

【BUG】Redis RDB快照持久化及写操作禁止问题排查与解决

1 问题描述 在使用Redis 的过程中&#xff0c;遇到如下报错&#xff0c;错误信息是 “MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk...”&#xff0c;记录下问题排查过程。 2 问题排查与解决 该错误提示表明&#…

java分页实例

引言 在现代Web应用和移动应用中&#xff0c;面对大量数据的展示&#xff0c;分页技术成为了提升用户体验和优化数据加载效率的关键手段。尤其是在MySQL数据库环境中&#xff0c;合理运用分页查询不仅能显著减少服务器负载&#xff0c;还能提升数据访问速度&#xff0c;为用户提…

【Linux篇】ELF文件及其加载与动态链接机制

ELF文件及其加载与动态链接机制 一. EFL文件1.1 ELF文件结构二. ELF文件形成与加载2.1 ELF形成可执行2.2 ELF控制性文件的加载2.2.1总结 三. ELF加载与进程地址空间3.1 动态链接与动态库加载3.1.1 进程如何看到动态库 3.2 全局偏移量表GOT(global offset table&#xff09;3.2.…