蟑螂数据库无法创建客户端证书



我已经使用这里的教程在我的Linux(WSL2 Ubuntu 20.04(上安装了蟑螂数据库。

然而,当我在步骤1.4中尝试为根用户创建客户端证书和密钥对时,我得到了以下错误:

W210412 14:47:47.996624 1 security/certificate_loader.go:356  error finding key for certs/node.crt: key file certs/node.key has permissions -rwxrwxrwx, exceeds -rwx------

错误:无法生成客户端证书和密钥:密钥文件certs/node.key具有-rwxrwxrwx权限,超过-rwx------运行失败";cert-create客户端";因此,我无法在下一步启动集群。

蟑螂数据库要求密钥文件具有正常权限(仅限所有者(。然而,linux的windows子系统对文件权限有一个奇怪的处理(有关更多详细信息,请参阅本WSL文档(。

你有两个选择:

  • 如果可能的话,找出如何更改WSL2上的文件权限
  • 告诉蟑螂数据库跳过密钥文件权限

证书文档中描述了后者:

密钥(以.key结尾的文件(不得具有组或全局权限(最大权限为0700,或rwx-------(。此检查可以通过设置环境变量禁用COCKROACH_SKIP_KEY_PERMISSION_CHECK=真。

使用这些信息,我们可以更改教程的步骤1.4。

默认行为给出您遇到的错误:

$ cockroach cert create-client root --certs-dir=certs --ca-key=my-safe-directory/ca.key 
W210412 15:05:44.419689 1 security/certificate_loader.go:356  error finding key for certs/node.crt: key file certs/node.key has permissions -rwxrwxrwx, exceeds -rwx------
ERROR: failed to generate client certificate and key: key file certs/node.key has permissions -rwxrwxrwx, exceeds -rwx------
Failed running "cert create-client"

使用COCKROACH_SKIP_KEY_PERMISSION_CHECK=true环境变量,我们可以让它忽略文件权限并继续:

$ COCKROACH_SKIP_KEY_PERMISSION_CHECK=true cockroach cert create-client root --certs-dir=certs --ca-key=my-safe-directory/ca.key 

如果使用此解决方案,则还需要使用它来启动cockroach服务器。

相关内容

  • 没有找到相关文章

最新更新