github上新增SSH-key以及遇到的问题

当我们在git上创建完了仓库之后,需要创建SSH-key,由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。

生成SSH key步骤如下

1、cd ~ 进入当前目录, ls -a 查看 .ssh 文件夹是否存在,如果没有,则 mkdir .ssh 创建该文件夹

2、cd ~/.ssh 进入目录

查看目录下是否有id_rsa(私钥),id_rsa.pub(公钥)文件

如果没有的话,直接创建即可

3、输入 ssh-keygen -t rsa -C "[email protected]"

如果在生成key的过程中不指定文件名称,就会生成默认文件(id_rsa,id_rsa.pub)如果第一次创建,可以不用指定,直接创建,但是如果已经有了id_rsa,id_rsa.pub文件,其他的地方还在用,这时候就不能直接覆盖,需要在(/Users/xxx/.ssh/id_rsa):xxxxx(指定文件名称)  

设置密码

生成文件

4、将id_rsa.pub_github文件中内容copy至github的SSH Keys中

5、测试是否可以连接,ssh -T [email protected]

如果报错的话,还需要配置config文件

6、配置config文件

#github 

Host github 

HostName github.com 

User [email protected] 

IdentityFile ~/.ssh/id_rsa_github

7、测试 

如果出现让输入密码,基本是OK的

如果出现 [email protected]: Permission denied (publickey).的错误

则说明没有权限访问github

ssh -v [email protected]

查看上图发现,默认读取的还是默认的文件 id_rsa


但是我自己 .ssh 文件夹下的是id_rsa_github的文件,这个id_rsa_github文件是没有在 ssh key 队列里的

因此,执行命令 ssh-add id_rsa_github将id_rsa_github文件加入到此队列中,然后在进行测试即可。

 

问题记录:

有一次我切换用户至root,在切换回来的时候,git pull 代码的时候就报 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password) 的错误,意思是没有权限。下面是解决此问题的步骤

1、我查看github上的publicKey是有的,.ssh下的文件内容也是OK的,但是就是报这个错误

最后通过 ssh -v [email protected] 发现没有添加 id_rsa的文件信息

2、通过ssh-add id_rsa_github的时候 报错 Could not open a connection to your authentication agent 意思是

无法打开到您的身份验证代理的连接。然后 执行 eval `ssh-agent` ,在 ssh-add id_rsa 就可以克隆提交或拉取代码了

 

内容参考:https://www.cnblogs.com/520yang/articles/6875260.html

https://blog.csdn.net/weixin_41610178/article/details/83996609

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章