解决Github 每次上传都要输入用户名和密码

版权声明:资源类仅用于学习交流,禁止商用!!! https://blog.csdn.net/GentleCP/article/details/89296614

前言

在Linux系统上用git的时候沿用windows的方式,使用https克隆项目,导致每次都要在push和pull时输入用户名和密码来确认身份。出现这种问题的原因是采用了https克隆项目而不是ssh方式。且这种情况多出现在Linux操作系统上,Windows貌似输入过一次用户名密码后以后都不用再次输入。ssh生成公钥的方式相当于将你的身份保存到了github上,每次提交拉取项目的时候github值用通过你本地的key和保存的key对比即可鉴别身份,所以可以避免重复输入账户和密码确认身份的麻烦。

解决步骤

(1)查看项目采用的提交方式
到我们的项目目录下,打开bash界面,输入如下命令查看:

git remote -v

在这里插入图片描述

可以看到采用的方式是https,下面将其更改为ssh。
(2)修改提交方式
移除旧的提交方式

git remote rm origin

在这里插入图片描述

添加新的ssh提交方式,到github官网获取项目的ssh链接
在这里插入图片描述

git remote add origin [email protected]  

在这里插入图片描述

但此时直接做项目提交的操作会如下所示:
在这里插入图片描述

提示你没有权限更新结果到远程仓库,因为你还没有生成公钥保存到你的github上。

(3)生成公钥
默认公钥是存储在用户目录下的.ssh目录中,如下:

C:\Users\dcp\.ssh   # Windows
/home/cp/.ssh  # Linux

在这里插入图片描述

可以看到此时没有公钥的文件,输入如下命令生成公钥

ssh-keygen -t rsa -C "[email protected]"

在这里插入图片描述
密码可填可不填,填的话需要大于5位,不能太简单,一般存储普通项目直接回车跳过即可。
此时再查看.ssh目录,发现多了两个文件
在这里插入图片描述

用记事本打开id_rsa.pub,复制里面所有内容,进入github个人settings里。找到SSH and GPG keys,这里保存了所有与你github关联的公钥。
在这里插入图片描述

选择new ssh key,将刚刚复制的内容原原本本填入,不要添加多余空格,然后给该key添加一个title用于你日后识别哪个pc连接到你github,如果你不想让该pc再更新内容到你的github,直接移除key即可。
(4)提交项目
完成后再次尝试提交,即可。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GentleCP/article/details/89296614
今日推荐