为什么GitHub需要SSH Key呢?
因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议。所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了
流程
创建SSH Key
ssh-keygen -t rsa -C "邮箱地址"
在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入,我们按回车不设置密码
顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
linux下生成的SSH key文件保存在中~/.ssh/id_rsa.pub
win下保存在C:\Users\lzw.ssh
然后用文本编辑工具打开该文件,notepad++或者sublime 不要使用记事本打开,因为记事本的默认编码不是utf-8,拷贝里面的全部内容
vi ~/.ssh/id_rsa.pub
将它粘帖到github帐号管理中的添加SSH key界面中。
打开github帐号管理中的添加SSH key界面的步骤如下:
- 登录github
- 点击右上方的Accounting settings图标
- 选择 SSH key
- 点击 Add SSH key
在出现的界面中填写SSH key的名称,填一个你自己喜欢的名称即可,然后将上面拷贝的~/.ssh/id_rsa.pub文件内容粘帖到key一栏,在点击“add key”按钮就可以了。添加过程github会提示你输入一次你的github密码
测试刚才添加的github密钥是否成功:
ssh -T git@github.com
会出现一个提示,输入 yes 回车,可以看见一个successfully的提示信息,说明添加成功,可以使用了
配置Git个人信息
现在你已经可以通过 SSH 链接到 GitHub 了,还有一些个人信息需要完善的。Git 会根据用户的名字和邮箱来记录提交。GitHub 也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的
配置git信息
git config --global user.name "username"
git config --global user.email "email"
查看git设置信息
git config --list
git config user.name