首页 > 其他 > 详细

解决git Push时请求username和password,而不是ssh-key验证

时间:2014-08-18 00:01:03      阅读:496      评论:0      收藏:0      [点我收藏+]

转载自:https://blog.lowstz.org/posts/2011/11/23/why-git-push-require-username-password-github/

之前开始用github时是在ubuntu下按着官方的新手指南搞定的。但最近一直在用fedora,所以也想在fedora下用github,配置的时候很顺利,就是在git push的每次都需要输入username和password,而我是配置好公钥登陆的。用ssh -T git@github.com 也是成功用公钥登陆的。

查看了下~/.gitconfig,发现和ubuntu下的一样,google看到一篇《GitHub使用简介》,里面说了git push的两种方式,SSH方式和HTTPS方式。

bubuko.com,布布扣bubuko.com,布布扣在版本库的SSH方式和HTTPS方式是不同的,具体来说就是url信息的不同,但是,实际的认证机制也是不同的。当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码 。《Help.GitHub - SSH key passphrases》里也说了用SSH更方便更安全,不需要去输入长长的密码。

我去看了下repo目录下的.git/config,果然,我的url是HTTPS形式。

1
2
3
[remote "origin"]
fetch = + refs/heads/*:refs/remotes/origin/*
url = https://username@github.com/username/projectname.git

因为远程版本库的url是HTTPS,估计是我git clone的时候用HTTPS链接造成的

所以问题就出在这了,每次都很不方便,都要输入用户名和密码。

为了使用SSH公钥的方式认证,我把config的url改成下面这样:(打开config文件,该下url即可)

1
2
3
[remote "origin"]
fetch = + refs/heads/*:refs/remotes/origin/*
url = git@github.com:username/projectname.git

这样我git push的时候又可以用SSH公钥认证而不用去输入用户名和密码,不仅方便,而且更安全。

解决git Push时请求username和password,而不是ssh-key验证,布布扣,bubuko.com

解决git Push时请求username和password,而不是ssh-key验证

原文:http://www.cnblogs.com/youxin/p/3918435.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!