使用Git生成SSH密钥教程(附Git常用命令)

news2024/10/9 8:09:06

一、为什么使用SSH?

使用 Git 的 SSH(安全外壳协议)主要有以下几个原因:
1. 安全性:SSH 是一种加密的网络协议,用于在网络中安全地运行网络服务。使用 SSH,所有传输的数据都会被加密,这可以保护你的代码和敏感信息不被泄露。
2. 认证方式:SSH 提供了多种认证方式,其中最常用的是基于密钥的认证。这种方式比基于密码的认证更安全,因为密码不会在网络中传输,而且可以结合使用 SSH 密钥和密码,提供双重保护。
3. 便捷性:配置好 SSH 密钥后,你就可以在不输入用户名和密码的情况下安全地访问 Git 仓库,这对于频繁提交更改的开发者来说非常方便。
4. 灵活性:SSH 协议允许你通过单个端口进行多种类型的操作,比如远程登录、文件传输和端口转发等,这对于需要从多个角度管理服务器的开发者来说很有用。
5. 支持高频操作:由于 SSH 的连接在初次建立后可以被重用,因此对于频繁的 Git 操作(如推送和拉取),SSH 可以提供更快的速度。
6. 网络穿透能力:在某些网络环境下,可能只有 SSH 端口是开放的。在这种情况下,SSH 成为了连接远程仓库的唯一方式。
7. 服务器配置:许多 Git 服务器(如 GitHub、GitLab)默认支持 SSH,而且提供了详细的配置指南,使得设置和使用 SSH 相对简单。
8. 权限管理:通过 SSH,管理员可以更精细地控制对 Git 仓库的访问权限,比如可以限制某些操作只能通过 SSH 进行。
总之,使用 SSH 可以提高 Git 操作的安全性和效率,对于开源项目和个人私有项目都是推荐的做法。

二、以Git for Windows为例安装


1.安装Git for Windows
如果你还没有安装Git for Windows,可以从适用于 Windows 的 Git (gitforwindows.org)或者Git - Downloads (git-scm.com)下载并安装。


2.打开Git CMD
安装Git后,在Windows开始菜单中找到“Git”文件夹,然后打开“Git CMD”。


3.生成SSH密钥
在Git CMD中执行以下命令来生成新的SSH密钥:

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


这里,`-t rsa`指定密钥类型为RSA,`-b 4096`指定密钥长度为4096位,`-C`后跟的是你的电子邮件地址,这将作为密钥的注释。

按Enter键接受默认的文件位置(通常是`C:\Users\YourUsername\.ssh\id_rsa`)和文件名。

  1. 按下回车键后,系统会提示你输入保存密钥的文件路径。如果你不输入路径,它会默认在用户的家目录下创建一个 .ssh 文件夹,并在其中生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。

  2. 接下来,系统会要求你输入一个密码(passphrase)。这是可选的,但建议设置一个,以增加私钥的安全性。如果你不希望每次使用密钥时都输入密码,可以直接按回车键跳过,由于之前已经创建过所以这里提示了是否覆盖


4.查看SSH公钥
生成密钥后,你可以使用以下命令来查看并复制你的SSH公钥:

如果在git bash中:

cat ~/.ssh/id_rsa.pub

如果在powershell中:

先切换到.ssh文件夹,这里YourUsername是你实际的用户名:

cd C:\Users\YourUsername\.ssh

然后查看:

Get-Content .\id_rsa.pub

如果在CMD中:

先切换到.ssh文件夹,这里YourUsername是你实际的用户名:

cd C:\Users\YourUsername\.ssh

然后查看:

type id_rsa.pub


这将显示你的公钥,你可以使用鼠标选中并复制它。如果你的公钥文件名不是id_rsa.pub,请将命令中的id_rsa.pub替换为实际的文件名,win系统也可以直接用编辑器打开文件查看密钥。

三、SSH公钥使用


1.将公钥添加到SSH服务器或代码托管平台
接下来,你可以将复制的公钥添加到你的SSH服务器或代码托管平台(如GitHub、GitLab,Gitee)的SSH密钥设置中。


2.测试SSH连接
在添加公钥后,你可以通过以下命令测试SSH连接是否成功:

ssh -T git@github.com


如果你使用的是GitHub以外的平台,需要将`git@github.com`替换为相应的SSH地址。
按照提示操作,如果一切设置正确,你应该能够成功连接到服务器。
记得要妥善保管你的私钥(id_rsa文件),不要与他人分享,并且确保它存放在安全的地方。

  • SSH教程:SSH 教程 菜鸟教程 (cainiaojc.com)
  • 女生友好版教程:【Git】保姆级详解:Git配置SSH Key(密钥和公钥)到github-CSDN博客 

GIT常用命令图示( 源自B站:GeekHour)

 

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

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

相关文章

FreeRTOS——系统配置文件FreeRTOSConfig.h详解

FreeRTOSConfig.h配置文件作用:对FreeRTOS进行功能配置和裁剪,以及API函数得使能。 FreeRTOSConfig.h 是一个用户级别的配置文件,不属于内核文件。每个用户可以有不同的FreeRTOSConfig.h,从而实现不同的功能配置。 对于FreeRTOS配…

C++ static静态

个人主页:Jason_from_China-CSDN博客 所属栏目:C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目:C知识点的补充_Jason_from_China的博客-CSDN博客 概念概述 用 static 修饰的成员变量,称之为静态成员变量,静态成…

车辆重识别(2021NIPS无分类器扩散指南)论文阅读2024/10/08

什么叫做有条件和无条件的扩散模型? FID是什么? IS是什么? λ是给出的参数,就像去噪扩散模型中每个时间步的β一样,每一时间步的λ都会给出。对于是否有条件信息c的概率 我的意思是在每一个训练轮次中&#xf…

一个适用于 ASP.NET Core 的轻量级插件框架

前言 今天大姚给大家分享一个适用于 ASP.NET Core 的轻量级插件框架,简单配置,开箱即用:PluginCore。 项目概述 PluginCore 是一个基于 ASP.NET Core 的轻量级插件框架,旨在简化插件的集成与管理。通过最少的配置,开…

wps文本框文字居中对齐

直接点对齐里的水平居中,垂直居中是将文本框水平垂直居中,文字不会居中 将文本框里的文字居中: 垂直居中: 水平居中:

基于SpringBoot的校园健康信息管理系统

第1章 绪论 1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对医院管理方面的要求也在不断提高,由于老龄化人数更是不断增加,使得师生健康信息管理系统的开发成为必需而且紧…

前端反接保护:实用方案解析与探讨

前端反接保护通常采用肖特基二极管方案或PMOS/NMOS方案,本文另外介绍一种理想二极管方案。 1、肖特基二极管方案 由于肖特基二极管具有正向导通电压,只能用于小电流场合,甚至于直接使用普通的整流二极管。比如1A电流,设D1的正向…

笔记整理—linux进程部分(9)互斥锁

互斥锁也叫互斥量,可以看作一种特殊的信号量。信号量可以>0,大家可以排队使用信号量,互斥锁只有0、1,主要实现关键段保护,只能在某一时间给某一任务去调用这段资源,这段内容用之前上锁,用完时…

Spring一共有几种注入方式?

目录 一、Spring Ioc 什么是 IOC? 依赖倒置原则 为什么叫控制反转? 两种实现方式 依赖注入DI Spring有哪些注入方式? 1. 构造方法注入 2. Setter方法注入 3. 字段/属性注入 4. 方法注入 5. 接口注入 6. 注解注入 二、Spring Ao…

gaussdb hccdp认证模拟题(多选)

1.以下哪些方式可以查询数据库信息? (1 分) A. \l B. \db C. select * from pg_database; D. select * from gs_database; --AC 2.以下哪些权限是开启三权分立后系统管理员不再具备的权限? (1 分) A. 用户管理权限 B. 表空间管理权限 C. …

通信工程学习:什么是三网融合

三网融合 三网融合,又称“三网合一”,是指电信网、广播电视网、互联网在高层业务应用上的深度融合。这一概念在近年来随着信息技术的快速发展而逐渐受到重视,并成为推动信息化社会建设的重要力量。以下是对三网融合的详细解释: 一…

20.数据结构与算法-树和二叉树/满二叉树/完全二叉树/二叉树的性质/二叉树的存储结构

树的定义 树的其它表示方法 树的基本术语 树结构和线性结构的比较 二叉树的定义 二叉树案例引入 二叉树的抽象数据类型定义 二叉树的性质 两种特殊形式的二叉树 满二叉树 完全二叉树 完全二叉树的性质 二叉树的存储结构 二叉树的顺序存储 二叉树的链式存储结构 二叉链表 三叉链…

GISBox工具:轻松实现倾斜摄影数据从OSGB到3D Tiles的转变

在现代地理信息系统(GIS)和三维可视化领域,倾斜摄影数据(OSGB格式)和3D Tiles格式是两种广泛应用的数据格式。然而,将OSGB数据转换为3D Tiles格式以便在Cesium等平台上加载和展示,一直是许多开发…

[控制理论]—差分变换法与双线性变换法的基本原理和代码实现

差分变换法与双线性变换法的基本原理和代码实现 1.差分变换法 差分变换法就是把微分方程中的导数用有限差分来近似等效,得到一个与原微分方程逼近的差分方程。 差分变换法包括后向差分与前向差分。 1.1 后向差分法 差分变换如下: d e ( t ) d t e…

Stable Diffusion绘画 | 签名、字体、Logo设计

第1步,使用 PS(小白推荐使用 可画)准备一个 512*768 的签名、字体、Logo图片: 第2步,来到模型网站,搜索🔍关键词“电商”,找到一款喜欢的 LoRA: 第3步,选择一…

什么是fastText

1. 什么是fastText 英语单词通常有其内部结构和形成⽅式。例如,我们可以从“dog”“dogs”和“dogcatcher”的字⾯上推测它们的关系。这些词都有同⼀个词根“dog”,但使⽤不同的后缀来改变词的含义。而且,这个关联可以推⼴⾄其他词汇。 在wor…

初学者如何快速入门人工智能

一、引言 人工智能(Artificial Intelligence,简称AI),作为当今科技领域极具前景与影响力的方向之一,吸引着众多人士投身其中。无论是对科技充满好奇的学生,还是意图拓展职业发展路径的职场人士&#xff0c…

Linux的图形系统概述 (TODO)

(TODO) Linux graphics stack 现代 Linux 图形栈由多个子系统和层次组成,从应用程序到硬件之间的各个层面协同工作来处理图形显示和硬件加速。随着时间的推移,Linux 从传统的 **X Window System** 逐步过渡到 **Wayland**&#x…

filebrowser:轻松管理服务器文件,跨平台云端存储新选择

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 filebrowser是一款功能强大的文件管理器,用户可以通过浏览器对服务器上的文件进行修改、添加、删除甚至分享。其界面简洁,操作…

螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习07(基于docker容器的防火墙及NAT企业实战)

7.1 网络准备 7.2 网络规划 1)虚拟网络编辑器 点击右下方“更改设置”,点击“添加网络”假如vmnet3和vmnet4,然后分别选择vmnet3和vmnet4,设置为“仅主机模式”,按③处处理,去掉“使用DHCP”,…