【Solution】Git添加GitHub远程库免去账号密码验证

来源:互联网 发布:3b代码编程及图案 编辑:程序博客网 时间:2024/05/21 17:09

前言:

当我在本地工作区添加远程库的时候,用的是https方式进行连接,这样就导致每次将本地库push到远程库的时候需要进行繁琐的GitHub账号密码验证。
这里写图片描述
本文记录了我解决该问题的过程,包括遇到的问题以及解决方案。

解决方案

在GitHub创建一个repository之后,根据提示进行连接设置,先要确定的是要选择SSH,在本地用终端进入GitRepository目录输入给出的命令
这里写图片描述

我在终端输入第一行命令后,什么也没有发生,对的,Unix经典语录:“没有消息就是好消息”,接着输入第二行命令,出现错误提示:

➜  GitRepository git:(master) git remote add origin git@github.com/isLeeTender/GitRepository.git➜  GitRepository git:(master) git pull origin masterfatal: 'git@github.com/isLeeTender/GitRepository.git' does not appear to be a git repositoryfatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.

错误信息说,这个所push的远程库似乎不存在,或者是远程库有正确的访问权限,我们可以确定的是远程库是存在的,所以只剩访问权限的问题。

OK,我们通过命令看看本地是否有权限访问目标

GitRepository git:(master) ssh -T git@github.comPermission denied (publickey).

提示说的很清楚了:“没有权限”

通过查阅资料,知道这本地生成的SSH秘钥没有添加到远端GitHub上,我打开用户目录的.ssh目录(如果没有这个目录,请继续我下面的操作),发现里面并没有生成的秘钥:也就是没有id_rsaid_rsa.pub两个文件:

➜  ~ cd .ssh.ssh lsgithub_rsa     github_rsa.pub known_hosts

接下来通过命令生成秘钥:
ssh-keygen -t rsa -C "(你的邮箱)"

然后一直回车,知道出现火星文,秘钥就生成成功,回到.ssh目录里,发现里面已经有了id_rsaid_rsa.pub两个文件:

➜  ~ cd .ssh.ssh lsgithub_rsa     github_rsa.pub id_rsa         id_rsa.pub     known_hosts

接着就是将秘钥添加到GitHub上
这里写图片描述
标题自己定,秘钥的内容则是.ssh目录下的id_rsa.pub文件里面的内容,通过cat id_rsa.pub命令就可以看到:

➜  .ssh cat id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDpaZgqTFqoa3lhPxa6w5PSQnh9Rj9wQ3+pR/l2uts6LKPYcxBno6U8oZ+NMn7j5Q8L96NrrdST7cPSWLhhQ7+3M4woMmbCbP...

然后拷贝下来,复制到Key的位置就可以了

接下来我们再通过ssh -T git@github.com查看是否够权限:
这里写图片描述

OK!

我们来push试一下:
这里写图片描述

大功告成!接下来的push操作都不需要在输入账号密码。

总结

通过ssh秘钥连接远程仓库的正确顺序是:
1、GitHub创建远程库
2、本地创建秘钥
3、将秘钥添加到GitHub
4、连接远程库
5、提交操作

原创粉丝点击