当前位置: 首页 > news >正文

【Git】保姆级详解:Git配置SSH Key(密钥和公钥)到github

在这里插入图片描述

  • 博主简介:22级计算机科学与技术本科生一枚🌸
  • 博主主页:是瑶瑶子啦
  • 每日一言🌼: “当人们做不到一些事情的时候,他们会对你说你也同样不能。”——《当幸福来敲门》
    克里斯加德纳

Git配置SSH Key

  • 一、什么是Git?
  • 二、什么是SSL?什么是公钥和密钥?
  • 三、Git配置

一、什么是Git?

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理1。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件

在这里插入图片描述

二、什么是SSL?什么是公钥和密钥?

SSH (Secure Shell) 密钥是用于身份验证和加密通信的一对加密密钥。它由两个部分组成:私钥(private key)和公钥(public key)。这对密钥是通过非对称加密算法生成的,其中私钥用于加密数据,而公钥用于解密数据

在 SSH 中,私钥应该保持在你的本地计算机上,并且必须保持安全和保密。公钥则可以被分享给其他人或服务器。当你连接到一个远程服务器时,你可以将你的公钥添加到服务器上,以便服务器可以使用该公钥对你的身份进行验证。

当你使用 SSH 协议连接到远程服务器时,身份验证过程如下:

  1. 你的本地计算机向服务器发送请求。

  2. 服务器要求提供身份验证凭据。

  3. 你的本地计算机将使用你的私钥对一个随机生成的数字进行加密,并将加密后的数字发送给服务器。

  4. 服务器使用你之前提供的公钥对加密后的数字进行解密。
    如果解密后的数字与服务器生成的数字匹配,服务器将验证你的身份并允许你登录。

使用 SSH 密钥对身份验证具有以下优势:

安全性: SSH 密钥使用非对称加密算法,提供更高的安全性,比密码身份验证更难以被破解。

方便性:你不需要记住复杂的密码,只需要使用你的私钥来访问远程服务器。

可信任性 公钥可以在多个服务器之间共享,而不需要使用相同的密码。

通过生成 SSH 密钥对并将公钥添加到服务器上,你可以实现更安全和方便的远程访问。

三、Git配置

首先打开Git Bash

  • 1.配置用户名和邮箱信息
git config --global user.name “username”
git config --global user.email “email”

注意“username”“email”和前面单词之间有一个空格!

  • 2.生成SSH Key
# 你的Github绑定的邮箱
ssh-keygen -t rsa -C "***@gmail.com"
  • 3.获取SSH Key

根据命令行提示,进入文件夹,获取以ssh-rsa的字符串(包括ssh-rsa)
在这里插入图片描述
在这里插入图片描述

  • 4.在github添加SSH Key

在这里插入图片描述
在这里插入图片描述

title:自定
SSH:复制刚才拷贝的

  • 5.检测是否配置成功
    本地git-bash输入以下命令
$ ssh -T git@github.com

若显示如下,则代表配置成功!🎉🎉🎉
在这里插入图片描述


在这里插入图片描述

  • Java岛冒险记【从小白到大佬之路】

  • LeetCode每日一题–进击大厂

  • Go语言核心编程

  • 算法

http://www.lryc.cn/news/117591.html

相关文章:

  • 离线环境conda虚拟环境备份迁移--conda pack问题
  • 挂载 IK 分词器至 Elasticsearch Docker 容器 - Docker Docker Compose 教程
  • 7.6 通俗易懂解读残差网络ResNet 手撕ResNet
  • robotframework+selenium 进行webui页面自动化测试
  • 手机突然无法获取ip地址
  • C++——关于命名空间
  • 怎么进行流程图制作?用这个工具制作很方便
  • 【ChatGPT 指令大全】怎么使用ChatGPT来辅助学习英语
  • Ubuntu20配置仅主机网络
  • 调整奇数偶数顺序
  • 日志的规范
  • Spring AOP(AOP概念,组成成分,实现,原理)
  • Android WebView简单应用:构建内嵌网页浏览功能
  • 并发——乐观锁常见的两种实现方式,乐观锁的缺点
  • Spring 事务管理
  • unity修改单个3D物体的重力的大小该怎么处理呢?
  • [Qt]FrameLessWindow实现调整大小、移动弹窗并具有Aero效果
  • 【API生命周期看护】API日落
  • PHP 使用ThinkPHP实现电子邮件发送示例
  • Leetcode-每日一题【剑指 Offer 18. 删除链表的节点】
  • [LINUX使用] top 命令的使用
  • 通过redis进行缓存分页,通过SCAN扫描进行缓存更新
  • C#小轮子 Debug,Release,发布模式如何运行不同的代码
  • 【【萌新的STM32 学习-6】】
  • “深入解析JVM:探索Java虚拟机的工作原理“
  • 【目标检测系列】YOLOV2解读
  • 【深入浅出程序设计竞赛(基础篇)第一章 算法小白从0开始】
  • openGauss学习笔记-36 openGauss 高级数据管理-TRUNCATE TABLE语句
  • ChatGPT生成文本检测器算法挑战大赛
  • O2OA开发平台实施入门指南