文章目录
-
-
-
- 配置SSH
- [第一步:检查本地主机是否已经存在ssh key](#第一步:检查本地主机是否已经存在ssh key)
- [第二步:生成ssh key](#第二步:生成ssh key)
- [第三步:获取ssh key公钥内容](#第三步:获取ssh key公钥内容)
- 第四步:Github账号上添加公钥
- 第五步:验证是否设置成功
- 验证原理
-
-
往github
上push
项目的时候,如果走https
的方式,每次都需要输入账号密码,非常麻烦。而采用ssh
的方式,就不再需要输入,只需要在github
自己账号下配置一个ssh key
即可。
配置SSH
git
使用SSH
配置, 初始需要以下三个步骤
- 使用秘钥生成工具生成
rsa
秘钥和公钥 - 将
rsa
公钥添加到代码托管平台 - 将
rsa
秘钥添加到ssh-agent
中,为ssh client
指定使用的秘钥文件
第一步:检查本地主机是否已经存在ssh key
powershell
PS C:\Users\lenovo> cd ~/.ssh
PS C:\Users\lenovo\.ssh> ls
存在id_rsa
(私钥)和id_rsa.pub
说明本地已存在。
第二步:生成ssh key
如果不存在ssh key
,使用如下命令生成
powershell
ssh-keygen -t rsa -C "xxx@xxx.com"
第三步:获取ssh key公钥内容
powershell
cat id_rsa.pub
第四步:Github账号上添加公钥
进入Settings
设置
添加ssh key
,把刚才复制的内容粘贴上去保存即可
第五步:验证是否设置成功
powershell
ssh -T git@github.com
注意之后在clone
仓库的时候要使用ssh
的url
,而不是https
!
验证原理
SSH
登录安全性由非对称加密 保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git
中一般命名为id_rsa.pub, id_rsa。
本地生成一个密钥对,其中公钥放到远程主机,私钥保存在本地。
当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。