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

前言

我的个人网站:https://www.gentlecp.com

在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 git@xxx.git  

在这里插入图片描述

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

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

3. 生成公钥

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

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

在这里插入图片描述

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

ssh-keygen -t rsa -C "youemail@example.com"

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

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

选择new ssh key,将刚刚复制的内容原原本本填入,不要添加多余空格,然后给该key添加一个title用于你日后识别哪个pc连接到你github,如果你不想让该pc再更新内容到你的github,直接移除key即可。

4. 提交项目

完成后再次尝试提交,即可。
在这里插入图片描述

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值