一、为什么推荐使用SSH key的方式
众所周知,SSH是一种安全的传输模式,github要求推送代码的用户是合法的,所以每次推送时候都要输入账号密码,用以验证你是否为合法用户。
为了省去每次都要输入密码的步骤,采用SSH公钥,密钥也就是你说的SSH key来验证你是否为合法用户,在你的电脑生成了一个唯一的ssh公钥和私钥,公钥放到github上面,当你推送的时候,git就会匹配你的私钥是否跟github上面的公钥是配对的,正确就认为你是合法的,允许推送。
SSH key可以理解为是你的身份标识,放在github上面表明你是这个项目的一个开发人员,但是别人是可以截获的,你本机的私钥别人就无法截获,SSH key就可以保证每次传输都是安全的。
二、生成SSH密钥过程
1.查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
2.生存密钥:$ ssh-keygen -t rsa -C “your@email.com”
按3个回车,密码为空。<a href="http://killer-jok.iteye.com/blog/1853451">参数说明</a>
Your identification has been saved in /home/tekkub/.ssh/id_rsa.Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.The key fingerprint is:……
最后得到了两个文件:id_rsa
和id_rsa.pub
3.添加密钥到ssh:ssh-add 文件名需要之前输入密码。
4.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
打开https://github.com/ ,登陆,然后添加SSH keys。
三、密钥测试
命令行中输入:ssh git@github.com
PTY allocation request failed on channel 0
Hi flemingme! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
出现此情况则表示配置成功,在其他的服务器上配置公钥也是一样的操作,比如coding.net上,这里就不一一说明了。