之前上传文件到 GitHub 的时候,一直都是用的账号密码登录,每次提交都弹个窗体出来,感觉烦死了。。。今天有空,就来捣鼓下 SSH Key
。
Step1. 检查是否已经存在 SSH Key
运行 Git Bush
客户端,执行以下代码:
1 | ls -al ~/.ssh |
1 | # 如果不存在则会给出如下提示 |
检查列出来的目录,看看是否已经有了一个 SSH Key
。默认情况下,key 的文件名是下列之一:
> id_dsa.pub
> id_ecdsa.pub
> id_ed25519.pub
> id_rsa.pub
如果已经存在(如
id_rsa
和id_rsa.pub
)而且你想使用已经存在的密钥对直接连接 GitHub ,那么可以跳过 Step2,直接进入 Step3
Step2. 生成 SSH Key
复制下面的代码(记得请将email修改成自己的email地址
):
1 | $ ssh-keygen -t rsa -b 4096 -C "your_name@example.com" |
这里 GitHub 的建议是保持默认,所以只需要按 Enter
继续:
1 | Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press Enter] |
如果存在,将会提示是否覆盖:
1 | /Users/you/.ssh/id_rsa already exists. |
继续后会提示输入密码:
1 | Enter passphrase (empty for no passphrase): [Type a passphrase] |
然后你就会得到你的 SSH Key
的指纹,看起来像下面的代码:
1 | Your identification has been saved in /Users/you/.ssh/id_rsa. |
Step3. 添加 SSH Key 到 GitHub
先拷贝 id_rsa.pub
文件的内容,可以用编辑器打开然后复制,也可以用 git 命令复制:
1 | $ clip < ~/.ssh/id_rsa.pub |
进入 GitHub 账户设置,点击左边 SSH Key ,点击 Add SSH key
,粘贴刚刚复制的内容,然后保存。
输入 GitHub 账户的密码就能看到刚刚添加的 SSH Key 了。
Step4. 测试是否添加成功
在 Git Bush
中输入下面的代码,然后回车
1 | $ ssh -T git@GitHub.com |
会得到如下的指纹提示:键入yes
1 | The authenticity of host 'GitHub.com (207.97.227.239)' can't be established. |
如果出现下面的提示,恭喜你,验证成功。
1 | Hi username! You've successfully authenticated, but GitHub does not provide shell access. |
如果你看到的是
access denied(拒绝访问)
,可以点击这里 ,查看解决办法。
然后将https替换成ssh重新下载下代码,就OK了~~~
Good Luck
** 参考文档 **