2

我设置了密码缓存,但奇怪的是我认为我已经这样做了。从一封电子邮件到 github,他们似乎改变了一些东西:

你好,

您所看到的是所有新创建的存储库现在默认使用 Smart HTTP 而不是 SSH。我们在这里有一篇帮助文章,解释了如何在此处进行更改: https ://help.github.com/articles/why-is-git-always-asking-for-my-password

我们在这里也有一篇关于它的博客文章: https ://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage

我看到的奇怪之处在于,我似乎记得前段时间按照这些确切的指示来缓存密码。

另外,是否有更好的方法,也许使用公钥?我不太确定我的密码缓存在哪里,但我知道这不是一个好主意。(我在 Linux 上,所以不能使用电子邮件中建议的 .exe。)

4

2 回答 2

5

您可以使用 SSH 连接到 Github。他们有一个SSH 密钥指南,以防您尚未将您的公钥添加到您的 Github 帐户,然后您所要做的就是使用 SSH 存储库 URL 而不是 HTTPS 存储库 URL 来克隆您的存储库。

您可以通过单击列出的 repo URL 旁边的按钮来找到 SSH url。如果您已经克隆了 HTTPS 存储库,您可以添加一个指向 SSH URL的新远程,并将其用于无密码推送/拉取!

于 2012-06-25T22:33:03.760 回答
1

您必须更具体地说明“更好的方法”的含义,因为根据您的解释方式,您将得到不同的答案。尝试进一步细化您的问题,使它们更具体和具体。

深入了解您在谈论的内容让我发现git-credential-store,这似乎表明密码以明文形式存储。

据我了解,您将依赖操作系统的安全模型来确保文件不会被未经授权的方访问或更改。这些信息似乎都没有用盐进行散列。简而言之,您帐户的安全性将高度依赖于您存储缓存的机器的安全性。

至于为什么 HTTP 支持是 git 未来的一大重点,这里已经很好地解释了。

总而言之,HTTP 是标准的并且具有很高的采用率,它支持安全和不安全的交换,再加上无论如何端口 80 在大多数机器和防火墙上都是开放的这一事实,使得使用 HTTP 相对容易。

于 2012-06-25T21:42:32.110 回答