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

Can I generate a new config/master.key file?

我在工作站上所做的初始提交忽略了我的 config/master.key 文件。现在我离我的工作站有数百英里远,有什么方法可以在我的笔记本电脑上使用克隆的存储库生成新的 master.key 文件吗?

因为我现在需要它。

运行

Rails6.0.2.1

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

Ubuntu WSL Windows 10

VSCODE

My initial commit which I did on my workstation, ignored my config/master.key file.

这是正确的行为。 config/master.key 应该 被签入。它是一个秘密,应该保存在单独的秘密保险库中,例如共享密码管理器或 Vault 之类的东西。然后,您可以存储使用该单个密钥加密的所有其他应用程序的秘密。如果您的代码存储库遭到破坏,您的秘密仍然安全。

评论rails credentials:help

如果您问是否可以创建相同的 config/master.key,则不能。这样的后门会破坏这一点。恐怕你不走运。存储在应用程序中的任何秘密也应该在您的保管库中。

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