前言
公司使用的是 github 企业版,网页版登陆需要双因子验证(账号,手机验证码,密码),没办法直接 git clone ,需要配置 ssh key。
具体流程
使用秘钥生成工具生成rsa秘钥和公钥
ssh-keygen -t rsa -C "[email protected]"
- -t key类型
- -C 注释
执行后一直回车即可,最后会在 ~/.ssh 目录下生成 id_rsa(私钥)和 id_rsa.pub(公钥)文件。
Github账号上添加公钥
将 ~/.ssh 目录下 id_rsa.pub 文件内容 添加到 github 上。
注意在 git clone 仓库的时候要使用 ssh 的 url,而不是 https。
简单原理
当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。
参考
Github配置ssh key的步骤(大白话+包含原理解释)
标签:公钥,rsa,Github,ssh,key,远程 From: https://www.cnblogs.com/strongmore/p/18049862