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

转载自: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 [email protected] 也是成功用公钥登陆的。

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

在版本库的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://[email protected]/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 = [email protected]:username/projectname.git

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

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

时间: 2024-10-12 22:16:54

解决git Push时请求username和password,而不是ssh-key验证的相关文章

本地Git仓库和远程仓库的创建和关联及github上传(git push)时出现error: src refspec master does not match any解决办法

github上传项目方法: 在你的电脑上装好git Git Bash Here 本地Git仓库和远程仓库的创建及关联大致流程是: 1.初始化这个本地的文件夹为一个Git可以管理的仓库 git init 注意:Git会自动为我们创建唯一一个master分支我们能够发现在当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了. 2.将本地的仓库和远程的仓库进行关联 git remote add origin [em

【转载】Git push时重复输入用户名密码的问题

在windows上使用git来push到github服务器的时候,每次都需要填写用户名/邮箱.密码,很麻烦.最近用hexo写博客,需要频繁地进行博客配置和预览,而每次预览执行hexo deploy都需要输入用户名.密码验证,不胜其烦,今天下决心解决. 尽管github提供了SSH方式进行本地和服务端的链接,可是按照网站说明设置好之后,这个问题仍然得不到解决.尝试了好几次,最终用下面这个方法解决了. 首先添加环境变量. 在用户文件夹如C:\Users\zhangsan下新建一个名为_netrc的文

Git 2.x 中git push时遇到 push.default 警告的解决方法

近在学习使用 git&GitHub,然后今天遇到了一个问题.在执行 git add 和 git commit 操作之后,再进行 git push 操作,出现了如下提示: $ git push warning: push.default is unset; its implicit value has changed in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the traditiona

git push时出现Permission denied(publickey)的解决

1 问题描述 push的时候出现上述错误,它说请确保有足够的权限和这个仓库存在,仓库不存在...这个估计不是,所以是权限的问题,准确来说是sshkey的问题. 2 重新生成ssh key ssh-key -t rsa -b 4096 -C [email protected] 这是gitub推荐的生成新ssh key的方法.注意,请不要使用默认的名字,第一个就会提示输入名字,请使用自定义的名字. 3 修改~/.ssh/config 移动公钥和私钥到~/.ssh下. mv xxx xxx.pub ~

解决git push/pull 每次都要输入密码、ssh-keygen

一.问题描述 以github为例 每次在向github服务器 推送代码(git push),都会提示输入用户名密码 二.问题原因 在clone 代码时使用的是HTTS协议 三.解决方法 1.clone代码时使用SSH协议 2.本地git配置 打开终端 -----------------------系统配置------------------------------------ git config --global core.quotepath false //支持utf-8编码 解决中文乱码

解决git push远程分支错误

分布式版本控制系统在日常开发中使用越来越频繁,谁没经历过手一抖,不小心把错误的内容git push到远程仓库? 前几天我就遇到了,当时对git也不熟,于是各种try--终于,现在搞明白了 环境: 远程仓库fork的开发项目 分支只有master 操作: git pull origin master (埋下祸根,把别人的commit也pull下来了) git push self master:master repo中merge 请求,包含别人的commit ! 解决办法: 新建临时分支git ch

解决git push至远程仓库失败的问题

产生问题的原因: 远程仓库存在本地不存在的文件, 一个常见的例子是创建repository时勾选了README.md, 但此时本地还没有这个文件, 就会导致本地文件无法同步到远程仓库的问题. 解决方法: 在git push至远程仓库之前, 先将远程仓库文件同步至本地. 执行下面命令 git pull --rebase origin master 原文地址:https://www.cnblogs.com/shaohsiung/p/9535934.html

如何解决git====push 过程中出现的。error: failed to push some refs

当我们在利用git  push 文件到仓库时出现了一下问题: ! [rejected] master -> master (fetch first)error: failed to push some refs to '[email protected]:yaogengzhu/ajax.git'hint: Updates were rejected because the remote contains work that you dohint: not have locally. This i

git push 时 rejected

git push遇到的问题: [email protected] MINGW64 ~/workspace/HelloWorld/src/selenium (master)$ git push osc masterTo [email protected]:wuzhiyi51/selenium_learn.git ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to '[email pro