目录
前言:我来公司上班day1
正文:Git的SSH协议访问步骤
一.安装Git软件
二.SSH密钥生成
三.添加SSH公钥到远端仓库
四.配置 Git 使用 SSH 协议来连接远程仓库
五.使用Git命令进行测试
结尾:
前言:我来公司上班day1
回顾我的毕业季,那是一段充斥着投递简历和准备面试的青葱岁月。都说23年学计算机,如同49年入国军。但已经投入过多的沉没成本的在计算机上的我也别无选择,在历经浪潮般的简历投递和笔试面试后,我终于迎来人生的第一个offer,从此开启了计算机信徒的编码人生。
初来乍到的我,对任何事物都感觉新奇。听着同事和组长大佬满嘴的专业词汇(qemu,yocto,kprl),我深感不安。(我在学校有上过这些课?) 为了体现自己的积极性,我胆战心惊的向组长询问我能干些什么。在组长梳理完手上的项目后,对我说道:“这儿刚好有个已交付的项目,但仍然需要我们做售后维护,这个任务就先交给你吧,你先用git把仓库里的代码拉下来熟悉熟悉”。随后便扔给我一个网站地址和一组邮箱账号密码。一听这话我立马来了兴趣,“好的!保证完成任务!”,等等,什么git?仓库又在哪儿?这账号密码,难不成是网盘吗?就这样,我开始了我到公司学习的第一个软件——Git分布式版本控制系统。
正文:Git的SSH协议访问步骤
前言故事结束,开启正式主题。相信在座的各位大佬,必然比刚开始的我要了解Git是什么,所以Git的定义性文字在此就不赘叙了,不过是有个远端仓库...有个本地仓库...有一些执行命令去管理远端仓库和本地仓库的内容...。仅仅分享一下应届生初到企业中,会遇到的一些常见问题。
首先解释一下什么是远程仓库:远程仓库就好比是一个云端的存储空间,你可以把自己写的代码放在这个存储空间里,让其他人也能看到、下载和修改你的代码。通过远程仓库,不同的开发者可以共同协作完成一个项目,就像大家在同一个云盘里共享文件一样。
现在我们知道远程仓库就相当于一个共享的云盘,接手同一个项目的同事和你都可以看到,下载和修改这个云盘上的代码。此时会出现一个新的问题,这么多人管理代码,得给每个人一个ID吧。这就是刚开始你的领导给你的邮箱账号和密码(如果是个人学习者,就是你在仓库上注册的账号)所体现的作用啦。此时在你心中有了使用Git的步骤雏形。登录“云盘”,下载代码。
那我们如何去登录“云盘”(访问仓库)呢?其实将你领导给你的链接输入浏览器地址栏,回车,输入邮箱账号密码。就可以访问网页版的远端仓库了,但作为牛逼的程序员的我们,自然是使用命令行的高端的方法。如下:
一.安装Git软件
下载安装Git软件,即Git客户端,使用Git命令访问仓库。所以第一步:在工作环境机上安装Git软件,这里我使用的是Ubuntu20.04的apt-get相关命令来安装Git,在shell命令行中输入如下命令:
sudo apt-get install git
此时你的电脑会出现跑马灯一样的加载特效,等待下载安装完成即可。
如标题所示,我们将使用ssh协议来连接远端仓库,为什么要是用SSH协议来链接会仓库呢?因为在我看来,使用 SSH 方式连接远程仓库是最方便的方式。因为一次性配置好 SSH 密钥后,就无需每次输入密码(这里提一嘴,使用HTTPS协议连接仓库需要每次输入密码),连接远程仓库更加方便快捷,也更安全。团队协作时,使用 SSH 方式能够提高效率,同时保障代码的安全性。
既然不需要输入密码,那总有一种方式来对链接用户进行识别,才能让他访问远端仓库呗。这便是SSH密钥对的相关知识,简单的描述一下:
SSH(Secure Shell)密钥是一种用于安全连接和通信的加密密钥对,包括私钥(private key)和公钥(public key)。在使用 SSH 协议时,私钥用于对数据进行加密和解密,而公钥则用于对数据进行验证和确认身份。
如你所见,我们需要将SSH密钥对的公钥告诉远端仓库,私钥存放在自己的电脑上,这样在进行连接时,他们就能互相配对,进行身份识别。所以接下来介绍如何生成和配置SSH秘钥。
二.SSH密钥生成
打开终端窗口,运行以下命令生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
在"your_email@example.com" 处输入领导给你的邮箱(或者自己注册的邮箱),在生成密钥对时,可以选择是否设置密码(passphrase)。如果设置密码,每次使用密钥都需要输入密码。这里我们不需要使用密码,多次回车默认选项即可。
当出现上述图片时,就证明我们的密钥生成成功了。生成的密钥对默认存储在用户目录(一般为 ~/ 目录下)下的 .ssh 文件夹中,分别是 id_rsa(私钥)和 id_rsa.pub(公钥)。
三.添加SSH公钥到远端仓库
之前提到过将秘钥存放在电脑上,将公钥告诉远端仓库。所以我们接下来,可以使用 cat ~/.ssh/id_rsa.pub 来查看公钥内容。将公钥 id_rsa.pub 的内容复制到远程仓库的 SSH Keys 部分中。具体步骤根据使用的远程仓库平台(如 GitHub、GitLab 等)而异。
这一步其实就是打开你远端仓库的web页面,进入设置,保存公钥而已,例如GitLab 上:
四.配置 Git 使用 SSH 协议来连接远程仓库
现在我们已经告诉远端仓库我们的电脑是被允许访问的,现在还有最后一个步骤,就是在我们使用邮箱访问git时,将我们的私钥交给他验证。可以执行以下命令来完成:
git config --global user.email "your_email@example.com"
git config --global user.name "Your Name"
git config --global core.sshCommand "ssh -i ~/.ssh/id_rsa"
其中 your_email@example.com 替换为你注册远程仓库时使用的邮箱,Your Name 替换为你的用户名。这样我们就终于完成了Git的SSH协议访问配置。
五.使用Git命令进行测试
我们可以使用如下命令:
git clone SSH_URL
SSH_URL 地址就是下图中的URL,我们直接copy过来即可。其他Git的相关命令这里就不在献丑了,网上的相关学习资料是数不胜数,大家可以参考更好的学习资料。