【问题标题】:git can't remember password [closed]git不记得密码[关闭]
【发布时间】:2012-12-10 05:52:03
【问题描述】:

我是使用 git 的新手。每次我想将我的文件推送到 github 时,它总是向我显示输入密码的通知。例如:“https://username@bitbucket.org”的密码

我希望我的 git 为我记住密码。我应该如何在 Windows 7 上做到这一点?我已经阅读了这里的帮助页面https://help.github.com/articles/set-up-git

【问题讨论】:

  • 只需使用this answer中指出的ssh-agent
  • putty 附带一个代理,使用那个。
  • 如果常见问题解答明确指出:software tools commonly used by programmers:stackoverflow.com/faq,为什么人们会投票关闭诸如离题之类的问题。 SO已经变得如此受感染,有毒的人! youtube.com/watch?v=Q52kFL8zVoM
  • 操作系统是程序员常用的工具。是否应该允许诸如“我找不到我的备份”之类的问题?在命令行中更改配色方案怎么样?不能安装一个网络服务器来测试你的程序怎么样?都与编程有关,是的。但我认为它们不是编程问题。还有其他 StackExchange 站点可以解决此类问题。所有恕我直言 - 这就是为什么需要投票才能结束/转移问题。
  • 我想说这应该转移到 superuser.com 而不是简单地被关闭。

标签: git github bitbucket


【解决方案1】:

如果您按照 Github 上的说明进行操作,请注意这一行。

提示:凭据帮助程序仅在您克隆 HTTPS 存储库 URL 时起作用。如果您改用 SSH 存储库 URL,则使用 SSH 密钥进行身份验证。

您正在使用 ssh,因此 git 凭证助手无法正常工作。你有几个选择。

  • 设置 ssh-agent 来存储您的 ssh 密钥密码。

ssh 问题并非特定于 git。您可以设置一个 ssh-agent,这样您只需输入一次 ssh 密钥密码。它将被记住,安全地存储在内存中,直到您注销。 Github has a tutorial about setting up an ssh-agent.

无论您选择哪个选项,我都强烈建议您花时间设置一个 ssh-agent。 SSH 如此有用且如此广泛,您将再次遇到这个问题。

  • 改用 https 而不是 ssh。

您可以从https://github.com/username/my-repo.git 克隆,而不是从git@github.com:username/my-repo.git 克隆。这是您项目页面上的http 按钮。然后 github 文档中描述的 git credential helper 将起作用。您可能必须先安装它,或者使用他们的 Github 应用程序。这一切都在Github on Windows setup guide 的密码缓存部分进行了描述。

  • 使用他们的 Github 应用。

The guide 提到他们现在有一个 Github 应用程序,它可能会为你解决这个问题。然而,这只是一个权宜之计,因为其他 git 服务器不会有这样的东西。

【讨论】:

  • 但是,我使用 https:// 并且我不使用 Github 应用程序,请帮助我。
  • @Ahmedel-Gendy 您的帖子最初说该消息是“例如:输入密钥'/c/Users/.ssh/id_rsa'的密码”,即ssh。现在您已将其更改为 https。无论如何,就像在我的回答和Github guide 中一样,使用 Github 应用程序,它将为您设置 git 凭据管理器。请参阅“密码缓存”部分。
  • 我使用这个步骤并使用 ssf 非常感谢@Schwern
【解决方案2】:

github 允许两种不同的方法访问您的存储库:https 和 ssh。

在您的问题的第一个版本中,您将 git 配置为通过 ssh 访问 github。因此 git 调用 ssh 尝试读取您的密钥并询问您 ssh 密钥的密码。

当您创建 ssh 密钥时,您可以通过密码保护它或决定不这样做。

如果您决定使用密码,那么您要么必须在每次要使用密钥(即推送、获取等)时输入密码,要么可以使用 ssh-agent。在最后一种情况下,您只需在将密钥添加到代理时输入一次密码。之后代理会为你做所有的授权。

在 Windows 上,您可以使用 PuTTY 工具来管理您的密钥: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

您可以使用puttygen 生成新密钥或更改现有密钥。 (例如删除密码)

您可以使用pagent 作为 ssh 代理。启动后它将驻留在通知区域。点击图标添加您的密钥。

一旦您的代理知道了密钥,就不应再要求您提供 ssh 密码。

【讨论】:

  • 嘿,把问题从 ssh 改成 https 是不公平的。 ;)
猜你喜欢
  • 2016-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
  • 2017-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多