突然看到阿里云的 accessKey 泄漏邮件才发现自己不小心把 key 传到 github 上了,
赶紧从床上爬起来开电脑准备删文件,第一反应就是用 filter-branch 彻底删除历史中的这个文件,强制推送覆盖 github 上的版本,
命令随便就能搜到,
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA" \
--prune-empty --tag-name-filter cat -- --all
但是,但是从阿里云给的泄漏地址打开居然还能打开泄漏 key 的文件,
仔细一看阿里云打开的是特定版本的文件,哪怕这个版本已经不在最终仓库里了,github 还是能打开的,
也就是说光自己删除数据是没用的,这看起来是 github 缓存已经删除了的 commit,
肯定要想办法删除这些缓存才行,
于是找到 github 官方文档,
https://docs.github.com/cn/github/authenticating-to-github/removing-sensitive-data-from-a-repository
其中第 8 点明确说了要联系 GitHub 支持删除缓存之类,
赶紧设置成 private 仓库,然后睡觉去了,
第二天起来发支持工单,让 github 帮忙删除,
04.18 11:39
标题:
Removing sensitive data from a repository
内容:
I submitted sensitive data to these two commits,
https://github.com/AoEiuV020/LetsEncryptManualHook/tree/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx https://github.com/AoEiuV020/LetsEncryptManualHook/tree/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I found that I cannot delete them completely,I have used filter-branch to completely delete sensitive data and force push, But these two commits can still be accessed, Please help me to delete these two commits completely,
04.18 22:19
收到工单回复,说缓存清除了,
Hi 啊 o 额 iu 鱼,
Thank you for contacting GitHub Support!
I have gone ahead and cleared the cache for you.
Please let me know what else I can assist with!
Cheers,
J.J.
至此才完成彻底删除 github 上的敏感数据,光等工单就等了十个半小时,
大家要是有删除过 github 上的却没有发工单的可以试一下删除了的 commit 还能不能打开的,
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.