从 Heroku Git 存储库中删除密钥

Posted

技术标签:

【中文标题】从 Heroku Git 存储库中删除密钥【英文标题】:Removing Secret Key from Heroku Git Repo 【发布时间】:2019-12-09 12:17:32 【问题描述】:

我在 Heroku 的帮助下完成了一个项目。我正确设置了密钥,使用环境变量等,没有提交包含任何密钥等的本地设置。

然后,查看哪些实际文件已被推送到 Heroku 中的 git 存储库,我发现一个“old_settings”文件完全被遗漏了。该文件包含密钥。

我清理了文件并将更改推送到 repo (git push heroku master)。然后我在最后一个答案之后删除了所有过去的提交:

removing commit history in git

这样可以吗?阅读 Mipadis 的答案似乎是这样的:

Pushing secret keys to heroku, safe?

这应该是一个问题,还是认为问题已解决?

感谢任何反馈,如果我的英语令人困惑,我很乐意澄清。

编辑

以与 Django 相同的方式生成新的密钥,并更新 Heroku 环境变量

heroku config:set secret_key=NEWKEY.

问题仍然存在:这是否足够?

【问题讨论】:

【参考方案1】:

GitHub states:

警告:一旦您将提交推送到 GitHub,您应该考虑它包含的任何数据都已被泄露。如果您提交了密码,请更改密码!如果您提交了一个密钥,请生成一个新密钥。

本文告诉您如何使用 GitHub 存储库中的任何分支或标签无法访问敏感数据进行提交。但是,请务必注意,这些提交仍然可以在您的存储库的任何克隆或分支中访问,直接通过它们在 GitHub 上缓存视图中的 SHA-1 哈希,以及通过任何引用它们的拉取请求 .您无法对存储库的现有克隆或复刻执行任何操作,但您可以通过联系 GitHub 支持或 GitHub 高级支持永久删除缓存的视图和对 GitHub 上拉取请求中敏感数据的引用。

最好生成一个新的密钥以确保安全。

【讨论】:

只需更新 Heroku 上的环境变量并更改我的开发环境中使用的环境变量就足够了吗?这会给我带来什么问题吗? 这就足够了,应该可以。确保您不再使用泄露的密钥,并在推送之前检查所有文件中的敏感数据。 更新了环境。 var,(已编辑的问题)。感谢您的反馈意见!紧张 45 分钟。 你现在应该没事了:)

以上是关于从 Heroku Git 存储库中删除密钥的主要内容,如果未能解决你的问题,请参考以下文章

从 Git 存储库中删除已从磁盘中删除的多个文件

从 Git 存储库中删除已从磁盘中删除的多个文件

如何从 git bash 屏幕中删除文件并从存储库中删除该文件? [复制]

如何从 git 存储库中删除源

如何从 Git 存储库中删除文件?

如何从 Git 存储库中删除文件?