从github或gitlab上clone项目或参与项目时,需要证明我们的身份。github、gitlab支持使用SSH协议进行免密登录,而SSH协议采用了RSA算法保证了登录的安全性。我们要做的是在本地生成一对RSA的密钥组(公私钥组),并且将公私钥组中的公钥暴露给远程主机云服务器。在登录时,远程主机云服务器会向我们本地端发送一段随机字符串,我们用自己本地端存储的私钥进行加密并在加密后再发回远程服务器端去,远程主机云服务器端会用之前已经储存的已持有的公钥进行逆向解密,如果解密后匹配成功,则允许登录。(关键之处:给远程主机云服务器端一份可逆向解密的公钥钥匙信息)
过程
1.首先你需在github上或gitlab上有一个自己的账户
2.打开git bash,输入命令ls -al ~/.ssh。检查是否显示有id_rsa.pub或id_dsa.pub存在,如果存在请直接跳至第4步。
3.在git bash中键入ssh-keygen -t rsa -C “your_email@example.com”,注意将这里的邮箱地址替换成你自己的邮箱地址。之后一直按回车就可以了。在这里可以看到id_rsa和id_rsa.pub文件已经生成。且钥匙文件存储的路径也已显示。
4. 用记事本之类的工具软件打开id_rsa.pub公钥文件,并复制公钥文件内的全部内容(公钥信息)。
ssh协议体系文件夹下的id_rsa.pub公钥文件默认安装路径切换进入
5.打开终端输入
open ~/.ssh
6.拷贝复制公钥信息
7.在gitlab或github的账户中,打开SSH key标签。
选择Add SSH key按钮,将刚刚复制的公钥信息粘贴进去,然后点击add key
全部操作完成,顺利进行git相关操作。