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

在这里插入图片描述

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

一、什么是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

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


在这里插入图片描述

### 配置 Linux 系统中的 Git 使用 SSH 密钥 在 Linux 系统中为 Git 配置 SSH 密钥的过程主要包括以下几个方面: #### 1. 检查现有 SSH 密钥 首先,确认当前系统是否存在已有的 SSH 密钥文件。通常情况下,这些密钥位于 `~/.ssh/` 目录下。可以通过以下命令查看是否有现有的私钥公钥: ```bash ls -al ~/.ssh/ ``` 如果存在名为 `id_rsa` `id_rsa.pub` 的文件,则说明已有 SSH 密钥。 如果没有找到上述文件或者需要生成新的密钥对,则继续执行下一步操作[^1]。 #### 2. 创建一个新的 SSH 密钥 运行下面的命令来创建一个新的 RSA 类型的 SSH 密钥,并指定电子邮件地址作为标签: ```bash ssh-keygen -t rsa -b 4096 -C "[email protected]" ``` 此过程会提示用户设置保存位置以及密码保护选项,默认路径为 `~/.ssh/id_rsa`。完成后会在该目录下生成一对新密钥:一个是私钥 (`id_rsa`) 另外一个是对应的公开密钥(`id_rsa.pub`) [^4]。 #### 3. 添加 SSH 密钥SSH Agent 为了使本地计算机能够记住您的身份验证信息而无需每次连接远程服务器都输入密码,需启动 SSH agent 并加载刚刚生成的 SSH 私钥: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 对于 macOS 或部分较新的 Linux 发行版可能支持 `-K` 参数用于存储解锁后的密钥Keychain 中以便长期有效;但在标准 Linux 下一般不适用此类功能 [^3]。 #### 4. 将公共 SSH 密钥添加到 GitHub/GitLab 账户 复制刚才生成好的 `.pub` 文件的内容并将其粘贴进目标版本控制系统 (GitHub,GitLab) 的账户设置页面下的 SSH Keys 字段里去。 ```bash cat ~/.ssh/id_rsa.pub ``` #### 5. 测试配置是否成功 最后通过尝试访问远程仓库测试整个流程是否正常工作: ```bash ssh -T git@github.com # 或者针对其他服务提供商调整主机名 ``` 如果一切顺利的话应该收到一条欢迎消息表明认证无误 [^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是瑶瑶子啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值