当前位置: 首页 > 知识库问答 >
问题:

使用Git存储密码的安全性如何?

岳炎彬
2023-03-14

我在工作场所使用Git,公司政策不允许我以不安全的方式存储密码。有没有比使用git-config-credential更好的选择。用于存储Git服务器密码的helper store?

附言:不能使用密钥身份验证,因为在我们的服务器上不允许这样做。


共有1个答案

柯宜年
2023-03-14

git configcredential.helper存储不是很安全;正如它在留档中所说:

使用这个助手会把你的密码不加密的存储在磁盘上,只受文件系统权限的保护

~/。git凭据文件将设置其文件系统权限,以防止系统上的其他用户读取它,但不会被加密或以其他方式保护。

因此它按原样存储您的密码。Git允许使用您的keychainGit-config——全局凭证。用于OSX的helper osxkeychain,因此它似乎更安全。对于Linux系统,您可以使用git-config-credential。helper缓存,它将密码存储在内存中。或者您可以按照git help credentials中的说明编写自己的文档:

您可以编写自己的自定义助手来与任何保存凭据的系统进行交互。有关详细信息,请参见Git凭证API的文档

此外,@VonC指出了基于跨平台GPG的解决方案。另请参阅有关. netrc文件的问题。

还有针对Linux的gnome keyring helper(感谢@jazakmeister的建议)

 类似资料:
  • 问题内容: 我在工作场所使用Git,并且公司政策不允许我以不安全的方式存储密码。有没有比将密码存储到Git服务器更好的选择了? PS无法使用密钥验证,因为我们的服务器不允许使用密钥验证。 问题答案: 不是很安全;如文档中所说: 使用此帮助程序会将密码未加密地存储在磁盘上,仅受文件系统权限保护 〜/ .git-credentials文件将设置其文件系统权限,以防止系统上的其他用户读取它,但不会被加密

  • 在一个应用程序中,我使用Android密钥库。我已经为整个密钥库和每个密码条目设置了密码。因为这些密码是字符串,所以它们存储在代码的字符串成员中。 显然,如果我想发布应用程序,这是不安全的,因为潜在的攻击者可以反编译apk并获取密码,因为它是硬编码在应用程序中的。 我的问题是: 在上面的场景中:攻击者是否能够读取我的密钥库文件,或者(在无根手机上)该文件是否只能由我的应用程序访问,因此仅密码是不够

  • 我正在使用JGit访问远程Git回购,我需要为此使用SSH。JGit使用JSch提供安全访问。但是,我不确定如何设置JGit的密钥文件和知道主机文件。我所尝试的如下。 创建SshSessionFactory的自定义配置,通过子类化JSchConfigSessionFactory使用: 在我访问远程Git回购的类中,执行了以下操作: 我不知道如何将这个JSch对象与JGit关联,以便它能够成功地连接

  • 我在工作中被要求保护保存在Mysql数据库中的敏感数据。这个数据库包含几个表,其中一个表中的关键数据只能使用Django中的API来访问。对于这个API,只有一定数量的人可以访问它,因此他们将是唯一能够访问这个表中的数据的人。 因此,目前的问题是每个人都可以访问数据库和该表,因此我们决定使用AES在AES_ENCRYPT()和AES_DECRYPT()函数的帮助下加密该表中的所有数据(根据http

  • 作品精湛。 我不明白的是如何对与不同帐户/存储库相关联的许多密码进行相同的操作。有人建议我使用gcm核心。 我尝试按照这里的指示安装。

  • 在flutter应用程序中存储key.jks文件对于flutter应用程序发布是安全的吗? 存储库密码、keyPassword、keyAlias 我的key.properties文件: