将Git配置项user.signingKey纳入版本控制是否存在安全风险?
将带GPG签名配置的.gitconfig存Dotfiles仓库的安全问题解析
先给你明确结论:现有配置无安全风险
- signingkey完全不怕泄露:你写的
signingkey = 0123456789012345是GPG密钥的公开ID,这个ID对应的是你的GPG公钥——公钥本来就是要公开传播的(比如你大概率已经把它传到GitHub或者公共密钥服务器了),别人拿到这个ID也没法伪造你的签名。真正要严格保密的是你的GPG私钥文件(一般存放在~/.gnupg/private-keys-v1.d/目录下),只要私钥没泄露就不会有安全问题。 - credential里的username也没问题:
username = myUser是你的GitHub用户名,这本来就是公开信息,任何人都能在GitHub上搜到,存仓库里完全不用担心。
真正要警惕的敏感内容
如果以后你的.gitconfig里出现这些内容,绝对不能提交到公开仓库:
- GPG私钥的具体内容(不是密钥ID)
- GitHub的个人访问令牌(token)或者明文密码
- 其他涉及账户权限的敏感凭证
给你的安全小建议
- 现在的.gitconfig放心存dotfiles仓库就行,没毛病
- 一定要把GPG私钥所在的目录加到.gitignore里,避免不小心提交私钥
- 如果以后要添加凭证,别直接写在.gitconfig里,用Git的系统级凭证助手(比如osxkeychain、wincred这类),比明文存储安全得多
内容的提问来源于stack exchange,提问作者mu88
相关产品推荐
相关产品推荐

