赞
踩
前言:由于提交代码到github时总是要提示验证登录,所以使用ssh提交方式
第一步:检查本地主机是否已经存在ssh key
cd ~/.ssh
ls
//看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
第二步:生成ssh key
如果不存在ssh key,使用如下命令生成
ssh-keygen -t rsa -C "xxx@xxx.com"
//执行后一直回车即可
生成完以后再用第二步命令,查看ssh key
第三步:获取ssh key公钥内容(id_rsa.pub)
cd ~/.ssh
cat id_rsa.pub
如下图所示,复制该内容
第四步:Github账号上添加公钥
进入Settings设置
添加ssh key,把刚才复制的内容粘贴上去保存即可
第五步:验证是否设置成功
ssh -T git@github.com
显示如下信息表明设置成功
设置成功后,即可不需要账号密码clone和push代码
注意之后在clone仓库的时候要使用ssh的url,而不是https!
第六步:小乌龟TortoiseGit配置:
验证原理
SSH登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般命名为id_rsa.pub,
id_rsa那么如何使用生成的一个私钥一个公钥进行验证呢?
- 本地生成一个密钥对,其中公钥放到远程主机,私钥保存在本地
- 当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。