【问题标题】:Git Bash asking for my user credentials when performing a push using SSHGit Bash 在使用 SSH 执行推送时询问我的用户凭据
【发布时间】:2011-08-23 09:04:49
【问题描述】:

我在 Codaset 网站上创建并成功实施了一个 Git 项目。我正在使用 SSH 在我的 Codaset 和我的本地存储库之间进行通信。当我从 Git Bash 进行推送时,Git Bash 会询问我的用户名凭据。尽管 Git Bash 成功执行了推送,但每次执行推送时都必须输入我的用户凭据很繁琐。

我查看了许多博客和解决此问题的建议,但无济于事。另外,我尝试使用PuTTY。我的问题是:

  1. 如何解决此问题?
  2. 或者,我可以打开一些调试以至少确定 Git Bash 要求我提供用户凭据的确切原因吗?

【问题讨论】:

    标签: git


    【解决方案1】:

    在您的终端中,输入:

    git config -l
    

    这将显示您的存储库的配置信息。查看remote.origin.url 行。根据您的描述,应该是:https://github.com/Username/project.git

    这意味着它使用的是 HTTP 协议而不是 SSH!我也遇到了这个问题 :) 不过有一个简单的解决方法!

    只需在终端中执行:

    git config remote.origin.url git@github.com:Username/project.git
    

    它应该会处理好事情!

    【讨论】:

    • GitHub 最近更改了他们的默认指令。当你创建一个新的 repo 时,它建议你使用他们的 Mac 应用程序,并且它遵循 http 配置设置而不是 ssh。
    • 我正在使用 Gitlab,而我的使用 ssh 但仍然要求输入密码
    • 这有帮助。另一个设置 url 的命令是 git remote set-url origin git@github.com:username/project.git
    【解决方案2】:

    Set up public key authentication for SSH。如果你这样做了,Git 就不应该每次都询问你的密码。

    【讨论】:

    • 谢谢。参考该链接,我创建了一个公钥并根据 Codaset 说明将其上传到 Codaset 网站。如何确定我是否真的在使用来自 Git Bash 的公钥?
    • 使用 -v 直接通过 SSH 连接到远程站点。它会告诉您正在使用哪些身份验证密钥。
    【解决方案3】:

    您需要设置 SSH 公钥认证。我在对this question 的回答中描述了这个过程。您可以将它与 Git Bash 一起使用。

    【讨论】:

    • 谢谢。请您告诉我在 Git Bash 中设置正确配置所需的确切命令是什么?
    • @user583153:如果您已经将公钥上传到 Codaset 网站,那么您必须确保相应的 私钥 放在主机上的 ~/.ssh/ 文件夹下。在 Git Bash 下运行 cd ~; mkdir .ssh; cp private_key ~/.ssh/id_rsa
    【解决方案4】:

    Git 文档是最好的:)。首先在 Git Bash - Windows 中尝试这些步骤,然后在其他网站上查看:

    对于 Eclipse:EGit 和 GitHub 出现“Auth Failed”错误。

    【讨论】:

      猜你喜欢
      • 2016-11-03
      • 2012-07-09
      • 2019-09-04
      • 2015-11-20
      • 2021-01-24
      • 2021-01-30
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      相关资源
      最近更新 更多