【问题标题】:How to make Git not ask me for password when accessing remote repositories?如何让 Git 在访问远程存储库时不要求我输入密码?
【发布时间】:2013-07-25 17:12:48
【问题描述】:

我一直在查看一些不同的 SO 帖子和其他论坛,以了解如何防止 git 在我与远程存储库交互时不断询问我的密码,但我所了解的是我需要创建 ssh键。

【问题讨论】:

标签: git ssh-keys


【解决方案1】:

如果您想让您的私钥更安全,可以使用密码对其进行加密。您实际上可以使用ssh-agent 为终端/控制台会话存储一次密码,因此您不必一直输入它

您需要使用 eval `ssh-agent -s` 启动代理,使用 ssh-add 输入您的私钥密码,然后在完成后使用 ssh-agent -k 终止代理。它甚至带有超时,ssh-add -t <timeout>,其中<timeout> 可以是 X 小时的 Xh,X 分钟的 Xm,等等。

ssh-agent 在 msysGit 和 Cygwin 上可用。我不确定它在 Unix/Linux/*nix 系统和 Apple OSX 等其他平台上的可用性。

您可以从this Stack Overflow answerthis Stack Overflow answer 阅读更多关于ssh-agent 用法的信息,也可以在网上搜索相关说明。

【讨论】:

    【解决方案2】:

    创建一个 SSH 密钥,但当它要求您输入密码时不要输入密码

    https://help.github.com/articles/generating-ssh-keys

    ^ 在那篇文章的第二步中,当它要求输入密码时按回车

    【讨论】:

    • 看!我只是个白痴。我什至不能用谷歌搜索这么简单的东西。这是完美的,我正在寻找解决方案。谢谢!我正在使用 bitbucket,所以这里是同一条船上任何人的链接:confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git
    • 是否包含每个公钥(我假设是.pub)?例如,我是否需要为我拥有的每个远程存储库提供一个唯一的 .pub(如果我有 bitbucket、github 和 heroku 存储库,则需要 3 个)?
    • 不确定 bitbucket 但使用 github,ssh 密钥已链接到您的帐户,因此您的帐户可以访问的任何存储库,您的 ssh 密钥都可以访问
    • @RileyE 如果你想让你的私钥更安全,可以使用密码来加密它。您实际上可以使用ssh-agent 为终端/控制台会话存储一次密码,因此您不必一直输入它。您需要使用eval `ssh-agent -s` 启动代理,ssh-add 输入您的私钥密码,然后在完成后使用ssh-agent -k 终止代理。
    • @Cupcake ssh-agent 是否也有超时,还是仅基于终端会话和ssh-agent -k?但这真的很高兴知道,因为有密码要好得多,但这与每次都必须输入我的 HTTPS 密码相同(ssh-agent 之前)。
    猜你喜欢
    • 2015-01-18
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多