• 解决git push一直提示输入用户名及密码、fatal: Could not read from remote repository的问题


    问题描述:

    在实操中,git push代码到github上一直提示输入用户名及密码,并且跳出的输入框输入用户名和密码后,报错找不到远程仓库

    实际解决中,发现我环境有两个问题解决:

    • git push一直提示输入用户名及密码
    • “fatal: Could not read from remote repository”

    问题1

    原因:

    是因为git使用https协议,每次pull, push都要输入密码,而如果采用ssh协议
    (当使用了http的方式clone代码到本地,相应的,也是使用http的方式将代码push到服务器,就出现这个问题)

    解决方式:

    解决办法很简单,将http方式改为ssh方式即可;先移除旧的http的origin,在添加新的ssh方式的origin

    改动完之后直接执行git push是无法推送代码的,需要设置一下上游要跟踪的分支,与此同时会自动执行一次git push命令,此时已经不用要求输入用户名及密码啦!
    git push --set-upstream origin master
    但在这里碰到了我的问题2

    问题2

    原因:

    出现这错误一般是以下两种原因:

    • 客户端与服务端未生成 ssh key
    • 客户端与服务端的ssh key不匹配
      我的问题是不匹配,需要重新生成一次ssh key ,并重新配置一下GitHub账户即可

    解决方式:

    1. 生成新的SSH key
         如果是客户端与服务端未生成ssh key,那么直接使用:ssh-keygen -t rsa -C "youremail@example.com" 生成新的rsa密钥即可。
         如果是客户端与服务端的ssh key 不匹配,此时需要先将本地生成的 id_rsa以及id_rsa.pub这两个文件【一般在用户名下的.ssh文件夹下】删除掉,然后再使用上述指令生成新的rsa密钥;
      上面命令的目的是为了让本地机器ssh登录远程机器上的GitHub账户无需输入密码。

    2. 将SSH key 添加到 ssh-agent
         使用 ssh-add ~/.ssh/id_rsa 将产生的新ssh key添加到ssh-agent中:

    但我出现“Could not open a connection to your authentication agent.”的错误,这个使用以下方式解决:
    eval "$(ssh-agent -s)"
    然后再次执行 ssh-add ~/.ssh/id_rsa 指令。

    3. 将SSH key 添加到你的GitHub账户
      在账户选项中选择 “Settings”–>“SSH and GPG keys”–>“New SSH key”,然后打开之前新生成的id_rsa.pub文件,将密钥复制后填写到账户中【注意填写时的格式要求】
    4. 验证key
      使用 ssh -T git@github.com 对ssh key 进行验证:

  • 相关阅读:
    Uboot启动流程分析(四)
    git更新提交到仓库
    MSM8953通过ADB进行AT指令操作
    Uboot启动流程分析(五)
    去除字符串中多个空格,保留一个空格
    socket握手SYN和ACK理解
    Redhat6更改yum源 (转)
    form提供的两种数据传输方式 get和post method=”post“和method=”get”
    linux误删除恢复(未验证)
    web前端学习路线
  • 原文地址:https://www.cnblogs.com/testeremma/p/14362512.html
Copyright © 2020-2023  润新知