配置步骤
1、检查本地是否有配置文件
cd ~/.ssh
ls
本地是否有 id_rsa 和 id_rsa.pub 的文件,如果有说明密钥已生成,跳到第三步
2、生成密钥
执行命令后会生成 id_rsa 和 id_rsa.pub,分别代表私钥 和 公钥,
ssh-keygen -T rsa -C "xxx@xxx.com"
这里的xxx可以没有明确的含义
3、获取公钥
cd ~/.ssh
cat id_rsa.pub
如图所示:
4、在github上添加公钥
在 github 的 settings 中的 SSH and GPG 模块中添加公钥
5、验证是否添加成功
ssh -T git@github.com
成功信息如下:
密钥鉴权原理
密钥是成对存在的,通常称为私钥 id_rsa 和 公钥 id_rsa.pub
私钥保存在本地,公钥保存在远端git服务器
当用户通过SSH协议将git命令发送到远程仓库时,Git服务器会返回一个随机值
本地Git会使用私钥对随机值进行加密,然后将加密后的值发送回Git服务器
Git服务器使用之前存储的用户公钥来解密加密的随机值。如果解密成功,Git服务器就验证了用户的身份,并允许用户访问仓库
通过这个过程,Git服务器可以通过用户生成的公钥来验证用户的身份,保证只有授权用户可以访问和操作远程仓库