转载自:https://blog.csdn.net/qfikh/article/details/74331224
当我们从github或者gitlab上clone项目或者参与项目时,需要证明我们的身份。github、gitlab支持使用SSH协议进行免密登录,而SSH协议采用了RSA算法保证了登录的安全性。我们要做的就是在本地生成一对RSA的密钥,并且将其中公钥暴露给远程主机。在登录时,远程主机会向我们发送一段随机字符串,我们用自己的私钥加密后再发回去,远程主机用会用之前储存的公钥进行解密,如果匹配成功,则允许登录。
过程
- 首先你需要在github上或者gitlab上有一个自己的账户
- 打开git bash,输入命令ls -al ~/.ssh。检查是否显示有id_rsa.pub或者id_dsa.pub存在,如果存在请直接跳至第4步。
- 在git bash中键入ssh-keygen -t rsa -C "your_email@example.com",注意将这里的邮箱地址替换成你自己的邮箱地址。之后一直按回车就可以了。在这里可以看到id_rsa和id_rsa.pub文件已经生成。并且生成的路径也已显示。
- 用记事本之类的软件打开id_rsa.pub文件,并且复制全部内容。这里记录的是公钥信息。
-
因为一些原因需要重新生成github的ssh Key,但是找不到之前的安装路径的了。
好在我是选择默认路径的,因此要找到ssh文件夹下的id_rsa.pub文件,只需要:
打开终端输入
- $ open ~/.ssh
即可,打开文件夹,就可以找到id_rsa.pub文件了。 - 在你的gitlab或者github的账户,打开SSH key标签。然后选择Add SSH key按钮,将刚刚复制的内容粘贴进去即可,然后点击add key。
全部操作完成,只要你对你要操作的项目有权限,接下来就可以顺利的进行git的操作了。