当从本地提交文件到github的时候,提交不成功,报错,可能问题就是你还没有生成ssh秘钥
github要使用ssh密钥的原因:
git使用https协议,每次pull, push都要输入密码,相当的烦。
使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。
公钥我们一般是给服务器的,他们到时候在权限中加入我给的公钥,然后当我从远地仓库中下载项目的时候,我在git clone xxx
的时候,那个服务器我通过他的绑定的公钥来匹配我的私钥,这个时候,如果匹配,则就可以正常下载,如果不匹配,则失败.
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。
一、创建密钥
(1).检查下自己之前有没有已经生成shh
cd ~/.ssh
如果能进入到.ssh文件目录下 ,且显示id_rsa(私有密钥)和id_rsa.pub(公有密钥)则证明,之前生成过.ssh秘钥,可以直接使用里面的秘钥。
(2).生成秘钥
ssh-keygen -t rsa -C ‘xxx@xx.xxx’ //配置的邮箱
接着按3个回车 :
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Mr.Yang/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Mr.Yang/.ssh/id_rsa.
Your public key has been saved in /c/Users/Mr.Yang/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:zA6wNJrFB6NcqS6eBog/AHlzQuvFjYpG759Yhh1lWGI xxxxxx@xxxxx.xxx(上面自己的邮箱)
The key's randomart image is:
+---[RSA ]----+
| +E . |
| ..+oo+ |
| oo+*+.o |
|o.*===+o |
|==+*... S |
|B.+.o .o |
|++o. + . |
| +o.+ . |
|. o.o |
+----[SHA256]-----+
最后在.ssh目录下得到了两个文件:id_rsa(私有密钥)和id_rsa.pub(公有密钥)
二 、查看密钥生成的目录
git init //初始化一下,看看路径对不对
四. 将公有密钥添加到github SSH keys
使用记事本等软件打开id_rsa.pub文件,将里面的内容复制,粘贴到github的New SSH key
五 .验证是否连接成功
$ ssh -T git@github.com
出现: You've successfully authenticated, but GitHub does not provide shell access.就是说明配置成功