SSH KEY介绍
虽然SSH KEY 的配置不是必须的,但是不配置的话我们就只能使用 HTTPS 协议,这样在有的系统下每次访问远程库(GitHub)时就要输入用户名和密码(Window10会为我们保存用户凭据)。
配置 SSH KEY 的原理是采用非对称加密方式生成公钥和私钥,公钥告诉 GitHub ,私钥留在自己电脑上(私钥不可泄露),当我们向 GitHub 上提交数据时,GitHub 会用我们留给它的公钥加密一段消息返回给我们的电脑,如果我们能够用私钥解密成功,说明是合法的用户,这样就不需要在每次访问时提供用户名或密码。
1.查看本地是否已有SSH KEY
默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。
可以看到没有id_rsa和id_rsa.pub文件,需要我们去生成。
2.生成SSH密钥
使用如下命令通过ssh-keygen程序生成SSH密钥:
ssh-keygen -t rsa -C ”你的邮箱地址"
在 Linux/macOS 系统中,ssh-keygen 随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。
执行此命令的过程,如下:
执行命令后需要进行3次或4次确认:
- 确认秘钥的保存路径(如果不需要改路径则直接回车);
(如果上一步指定的保存路径下已经有秘钥文件,则需要确认是否覆盖) - 创建密码(如果不需要密码则直接回车);
- 再次输入密码(密码为空的话也是直接回车);
这样我们在指定的保存路径(一般默认的位置为C:\Users\Administrator目录下)下就生成了两个文件:id_rsa
(私钥文件)和id_rsa.pub
(公钥文件)。然后复制id_rsa.pub的内容到GitHub中。
3.将公钥复制到GitHub
首先登录GitHub,点击右上角头像的向下箭头,选择Settrings。
然后在打开的页面选择SSH and GPG keys—>New SSH key.
最后在打开的页面将刚才复制的内容复制到Key的文本框并填写key的名称,然后点击Add SSH key按钮就完成了SSH key的配置。
测试基于ssh协议的连接,命令如下:
ssh -T git@github.com
这样我们就能在Git中用SSH协议访问GitHub来进行克隆、推送等操作了。