2011-09-23 60 views
7

因为我.netrc文件的伎俩行不通(尽管它有正确filepermissions),我修改了当地的.git/config来喜欢像这样:在.git/config中包含googlecode密码是否危险?

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = https://<username>:<password>@code.google.com/p/<project>/ 

我立刻克隆回购检查如果密码仍然包含在内,而不是。

我也有镜像托管在github,如果它很重要的话。

那么它有什么危险?

回答

5

那么它有什么危险?

.git目录中的文件严格是您本地存储库的一部分;他们不会被推送到您的远程存储库。所以你是安全的,因为你没有在网络上发布你的密码。另一方面,任何需要将密码缓存在本地文件系统上的系统意味着有权访问文件系统的人可能会恢复您的密码。不幸的是,由于Google不支持通过ssh访问存储库,因此您可以做的事情不多(您可以决定独家使用Github,这可以让您进行公钥/私钥身份验证,这在安全性方面是非常重要的一步)。

关于使用.netrc文件中,谷歌的Git常见问题解答说:

我把我的凭据,.netrc中,所以为什么不会git的还问我密码?

如果您在URL中有用户名,C git客户端会始终询问密码。检查您的 命令行和.git/config文件,并确保您的code.google.com网址不包含您的用户名(最多@部分)的 。

+0

我知道那部分内容来自FAQ - 并且足够搞笑,如果我从'url'行删除我的用户名(和密码),git会询问我的用户名和密码。谁知道发生了什么事! – hiobs

+0

对于它的价值,我只是将其中一个旧的Google Code项目转换为git,并按照所述设置了'.netrc',它工作得很好。这是在Linux下使用git 1.7.6版本。 – larsks

+0

我有git版本1.7.4。也许这是原因?不知何故,我会发现很难相信,但我真的没有线索...... – hiobs