在GitLab/GitHub(Mac环境)使用SSH Key

在 GitLab/GitHub(Mac 环境)

1.概念介绍

git 是分布式的代码管理工具,远程的代码管理是基于 ssh 的,所以要使用远程的 git 则需要 ssh 的配置。简单的说,Git - 版本控制工具;Github 是一个网站,提供给用户空间创建 git 仓储,保存用户的一些数据文档或者代码等;GitLab 是基于 Git 的项目管理软件

首先,使用代码管理工具把本地的代码上传到服务器时需要加密处理,加密传输的算法有很多种,git 可使用 rsa,rsa 要解决的一个核心问题是,如何使用一对密钥,使其中一个可以用来加密,而另外一个可以用来解密。这这对密钥就是 public key(公钥)和 private key(私钥)。
​ 其中,公钥就是那个用来加密的密钥,这也就是为什么你在本机生成了公钥之后,要上传到 github 的原因。从 github 发回来的,用那公钥加密过的数据,可以用你本地的私钥来还原。如果你的 key 丢失了,不管是公钥还是私钥,丢失一个都不能用了,解决方法也很简单,删除原有的 key,重新再生成一次,然后在 GitHub/GitLab 里再设置一次就行

在个人电脑生成 ssh 密钥后,会同时生成一个公开密钥和一个私有密钥,默认情况下在用户主目录下的.ssh 目录中,密钥为 id_rsa,公开密钥为 id_rsa.pub。

密钥和公开密钥是共同使用的,协同开发中,一般会将公钥配置在服务器中,这样方便经常登录,也不需要输入密码,这是现在集群和各种云平台常用的登录方式,密钥在本地不被泄漏就非常安全。

2.如何生成并设置 SSH Key

2.1 检查是否已经存在 SSH Key

打开电脑终端,输入以下命令:

1
ls -al ~/.ssh
2.2 如已有

复制 SSH KEY

1
pbcopy < ~/.ssh/id_rsa.pub

在 gitlab 添加即可

2.3 终端未出现 id_rsa.pub 或 id_dsa.pub 文件,表示该电脑还没有配置 SSH Key
1
ssh-keygen -t rsa -C "your_email@example.com"

默认会在相应路径下(/your_home_path)生成 id_rsa 和 id_rsa.pub 两个文件,此时终端会显示:

1
2
3
Generating public/private rsa key pair.

Enter file in which to save the key (/your_home_path/.ssh/id_rsa):

连续回车即可,也可能会让你输入密码,密码就是你的开机密码

此时再输入命令:ls -al ~/.ssh 就会出现 id_rsa.pub 和 id_dsa.pub 两个文件,再执行上面的 SSH KEY 复制语句即可

本文地址:https://tonysteven.github.io/2019/03/18/gitlabSSH/
转载请注明出处,谢谢!

坚持原创技术分享,您的支持将鼓励我继续创作!