解决Git Push总要输入用户名密码

最近在用Git BashUbuntu Shell提交代码到Git上,每次都需要输入用户名&密码。

通过Git ssh 帮助文档Git-Generating-SSH-Set在本地生成ssh key,并把public key放在git官网上。

文档中指出通过以下命令生成key :

1
2
3
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Creates a new ssh key, using the provided email as a label
Generating public/private rsa key pair.

我在windows git bash 生成key 的时候直接通过 ssh-keygen 来生成,并没有严格按照步骤接上git 的email。完成所有步骤后经验证。

1
Hi username! You've successfully authenticated, but GitHub does not provide shell access. 

验证通过但是依然要输入用户名密码才能提交! 在linux 上严格按照以上步骤加入git的email进行添加key 验证和以上情况相同!

经过检测发现其实是sshhttps 的原因导致的,key 已经正确加入了! git默认走的是https协议。所以在clone代码的时候注意使用ssh协议的连接。

Git 不同协议配置方式