社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
在gitlab,github上面拷贝代码时,通常用到了git clone ssh://XXX
命令。其中ssh指secure shell
(一种安全的网络协议),git使用这种协议进行远程加密登录。
git使用SSH配置, 初始需要以下三个步骤
生成
rsa秘钥和公钥公钥添加
到代码托管平台秘钥添加
到ssh-agent中,为ssh client指定使用的秘钥文件ssh-keygen
命令来创建密钥对, 默认保存路径为~/.ssh/
下, 一般id_rsa为私钥,id_rsa.pub为公钥。cat ~/.ssh/id_rsa.pub
命令获取公钥,然后拷贝到托管网页上, 一般是setting(设置)——>SSH Keys里面添加~/.ssh/
下生成的id_rsa密钥对,任何ssh client是可以直接读取到,不需要额外配置SSH登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般命名为id_rsa.pub, id_rsa。
那么如何使用生成的一个私钥一个公钥进行验证呢?
登录请求
,远程收到消息后,返回一个随机生成的字符串
,本地拿到该字符串,用存放在本地的私钥进行加密
,再次发送到远程,远程用之前存放在远程的公钥对本地发送过来加密过的字符串进行解密,如果解密后与源字符串等同
,则认证成功。
验证原理
特点
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!