我可以生成一个新的 config/master.key 文件吗?

Max*_*xxx 3 ruby-on-rails windows-subsystem-for-linux ruby-on-rails-6

我在工作站上所做的初始提交忽略了我的config/master.key文件。现在我离我的工作站有数百英里,有没有办法在我的笔记本电脑上使用克隆的 repo 生成一个新的 master.key 文件?

因为我现在需要它。

跑步

导轨 6.0.2.1

红宝石 2.6.5p114(2019-10-01 修订版 67812)[x86_64-linux]

Windows 10 上的 Ubuntu WSL

VSCODE

Sch*_*ern 5

我在工作站上所做的初始提交忽略了我的 config/master.key 文件。

这是正确的行为。config/master.key应该不会在被检查。这是应该活在一个单独的秘密金库如共享的密码管理器或类似的东西一个秘密。然后,您可以存储使用该单个密钥加密的所有其他应用程序的机密。如果您的代码存储库遭到破坏,您的秘密仍然安全。

回顾rails credentials:help

如果您问是否可以创建相同的config/master.key,不。这样的后门将击败这一点。恐怕你倒霉了。应用程序中存储的任何机密也应该在您的保管库中。

如果你问是否可以创建一个新的config/master.key,是的。删除config/master.keyconfig/credentials.yml.enc。然后运行rails credentials:edit,它将生成一个新的密钥和加密凭据文件。

  • @Richard 因为你是唯一一个参与该项目的人,所以很少。如果您不关心旧凭据,则只需使用新密钥即可。如果您需要保留旧凭据,则必须将它们与新密钥下的更改合并。这是一个手动过程,Git 无法合并加密文件。 (2认同)