2

出于安全的考虑,使用传统的用户名密码认证已经不被GITHUB所接受了,虽然可以使用AccessToken来解决这一问题。但使证书无疑是最最有效、安全的方法,另外主要的是:这并不难。

生成证书

如果你的电脑上已经有了证书,则无需要重新生成。查看的方法是打开~/.ssh文件夹。我们先查看下证书是否已经生成:

panjie@panjies-MBP ~ % cd ~/.ssh
panjie@panjies-MBP .ssh % ls
id_rsa        id_rsa.pub

如果存在这个文件夹,并且这里面存在类似于上述的两个文件,就说明我们已经有了一对证书可以用了。如果没有,则请执行:

panjie@panjies-MBP ~ % ssh-keygen -t rsa

然后按提示按几次回车,则会生成对应的证书文件,文件的默认位置为:~/.ssh

上传证书

打开github并登录,然后打开证书管理的界面:https://github.com/settings/keys

  1. 点击右上角的New SSH key.
  2. 随便在title中输入一个标题。
  3. 再来到终端中执行cat ~/.ssh/id_rsa.pub

比如:

panjie@panjies-MBP .ssh % cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0PIu69byG8RwogEqECIxfFv1iPhXNm9c5PLDqZ7aUgtsWxpAE9qogg6vpTaoVgmgCrecsX6f4p5u8AuoyRuTgKMwDm0zSCXo7VVfM8DVAVkmrCt3rv1arWxYdqZVRfgVsLBZkyGkZWpy17GHSoV9IJG8LG7pp2RT8Tlb57XwCsIpg3WXRMPWBsly6lurJWMySavp2Ey/46BHynUdH8BDgVRdiVCX7wAn+sxIalKhCtXvAZvDKV5YC7pq6Za014uB7C7K5iY6ZQjQpmI6KtTjT3WcjTv5Ae04ZBw5tpyLOdqRJENF8C/LlDiThvW3Hz1idXSLs5xlbmK8CBk0AlTktCRnqoqmfeeex6g1deoLekB1yc+onIGnz/BsCpGbFWnf64lgMO9bqUwHRhh+ATmL95z8eaDWhqgdgVEN6MLapVyjRcD5gtnp42hP6ZdFEb1qNHYQ+cTWwH6RLPNpDpq6P/2qHskEOVehiom/qmPAoEfXtBmFC+sTpVBsq+Bq9lYE= panjie@panjies-MBP.lan
  1. ssh-rsa开始复制,一直到结尾。
  2. 将复制后的内容粘贴到github中的Key中。
  3. 最后点击最下方的Add SSH Key按钮。

至此,我们使用证书进行双向认证的基础就有了。

下载github项目

有了证书后,下载项目时就再也不需要输入密码了。

但要注意的是,此时我们再clone时,不能输入https打头的那个地址,而应该是git打头的地址,比如:git clone git@github.com:yunzhiclub/ng.git.

Good Luck!


潘杰
3.1k 声望238 粉丝