GitHub配置SSH Key

SSH Key 介绍

SSH提供了两种级别的安全验证
第一种级别是基于密码的安全验证,知道账号和密码,就可以登陆到远程主机。Team的开发工作中,就是使用这种方式登陆编译服务器,或者开发机器。因为是在内网中,这种级别的安全验证已经足够了。
第二种级别是基于Public-key cryptography (公开密匙加密)机制的安全验证.其优点在于无需共享的通用密钥,解密的私钥不发往任何用户。即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,所截获的公钥是没有任何用处的。

生成SSH Key

以下步骤都是要安装Git才能运行的。如果是mac用户,安装了xcode就会默认安装了Git。如果是win用户,请先安装Git,win环境安装有两种方式。一种是Git Bash,一种是Git Desktop。个人推荐使用Git Bash.因为Git Desktop是要在线下载安装的,速度很慢。

  1. 设置username和email

    1
    2
    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
  2. 创建SSH Key

    1
    $ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可.
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

添加秘钥到ssh-agent(可选)

确保 ssh-agent 是可用的。ssh-agent是一种控制用来保存公钥身份验证所使用的私钥的程序,其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。

1
2
3
# start the ssh-agent in the background
eval "$(ssh-agent -s)"
Agent pid 59566

添加生成的SSH Key到ssh-agent

1
$ ssh-add ~/.ssh/id_rsa

提交公钥

登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
最后点“Add Key”,你就应该看到已经添加的Key。