git设置ssh密钥
目前git支持https和git两种传输协议,github分享链接时会有两种协议可选:
1、Clone with SSH
2、Clone with HTTPS
git在使用https协议的时候,每次pull、push都会提示要输入密码,使用git协议,然后使用ssh,这样可以免去在执行pull和push的时候次次都要输入密码的麻烦。
使用git协议大致可以分为是三个步骤
1、生成密钥对
2、设置远程仓库上的公钥
3、把git的remote url修改为git协议
第一步:生成密钥对
绝大多数的git服务器都会选择SSH公钥来进行授权。系统中的每一个用户都必须提供一个公钥用于授权,没有的话就必须要生成一个。生成公钥的过程在所有的操作系统上的方式都大致一样。首先确定自己本地是否已经有了公钥。
SSH公钥默认存储在账户主目录下的.ssh 目录中。
$ cd ~/.ssh
$ ls
查看文件夹下的文件是否包含id_rsa和id_rsa.push(或者是id_das和id_das.pub一类成对的文件),其中有.pub后缀的文件就是公钥,另一个对应的就是私钥。
如果没有这些文件,甚至连.ssh目录都没有,可以用ssh-keygen来创建。
$ ssh-keygen -t rsa -C "邮箱地址"
然后提示你输入密码,这个密码你可以随便输一个你记得住的密码。
当提示你:
Your public key has been saved in /home/you/.ssh/id_rsa.pub.
The key fingerprint is: # 03:0e:f2:3b:ca:85:d6:17:a9:7d:f0:68:9d:f0:a2:db "邮箱地址"
这个时候,你的本地密钥已经生成了。
第二步:设置远程仓库上的公钥
1、在终端上查看你的生成的公钥或者可以直接跳转到~/.ssh/id_rsa.pub去查看你的公钥
命令行可以用: $ cat ~/.ssh/id_rsa.pub
回车之后看到上面这样的一些乱码,说明你找到了。
2、在网站上登陆你的git账号,点击头像,再选择Setting选项,进入之后,选择SSH密钥,在密钥的大框里面把刚才查询到的公钥粘贴进去,接下来点击 添加密钥就可以了。
然后可以使用 $ssh -T git所在网址 查看这个密钥是不是成功正常运行。
第三步:修改git的remote url
这一步在有些集成了git的开发环境中会自动给帮你修改。
首先使用$ git remote -v 来查看当前的remote url
如果是https:打头的地址是https协议,git打头的则是git协议。
在github上找到项目对应的git打头的clone地址。复制之后,在命令行敲 $ git remote ser-url origin git协议地址。到这里就修改完成了。