SSH相当于一台电脑的通行证,把SSH配置到哪个账户,就表示可以使用这台电脑给这个账户下的仓库上传代码。使用SSH 密钥,可以不需要每次访问GitHub时提供用户名和密码。
https 和 SSH 的区别:
1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
1.检查电脑上是否已有SSH key
终端输入:
$cd ~/.ssh
$ ls
可以看到我的电脑上已经存在了id_rsa 和id_rsa.pub
如下图可以找到.ssh文件中已存在id_rsa和id_rsa.pub
2.创建SSH key
为了演示操作,我先把电脑上已存在的删除掉,重新安装
终端继续输入:
ssh-keygen -t rsa -C "你的邮箱地址"
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。
省略-f后会,会让你输入文件名,来保存SSH key,我们可以不用管,直接按回车键,使用默认文件名,如下图:
然后会提示我们输入密码,确认密码,此密码是我们push文件的时候需要输入的密码,并非gitHub的登录密码。
如下图:
出现下图就说明我们的SSH key已经创建成功
3.在github上添加SSH key
(1)用$ clip < ~/.ssh/id_rsa.pub
或编辑器打开拷贝id_rsa.pub文件中的内容
(2)登录github,点击右上角的设置,Settings-->Personal settings-->SSH and GPG keys-->New SSH key, 添加SSH key,把刚才拷贝的SSH key 拷贝到输入框(注意:SSH key 代码的前后不要留有空格或者回车)
在输入Title
4.测试SSH key是否设置成功
输入:ssh -T git@github.com
,出现如下图就说明我们已经成功设置SSH key