簡體   English   中英

Cockroach DB 無法創建客戶端證書

[英]Cockroach DB failing to create client certificate

我已經使用 此處的教程在我的 Linux (WSL2 Ubuntu 20.04) 上安裝了 Cockroach DB。

但是,當我嘗試在步驟 1.4 中為 root 用戶創建客戶端證書和密鑰對時,我收到以下錯誤:

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-client”失敗因此,我無法在下一步。

CockroachDB 要求密鑰文件具有健全的權限(僅限所有者)。 但是,linux 的 windows 子系統對文件權限的處理有些奇怪(有關詳細信息,請參閱 此 WSL 文檔)。

你有兩個選擇:

  • 如果可能,弄清楚如何更改 WSL2 上的文件權限
  • 告訴 CockroachDB 跳過關鍵文件權限

后者在證書文檔中進行了描述:

密鑰(以.key 結尾的文件)不得具有組或世界權限(最大權限為 0700 或 rwx------)。 可以通過設置環境變量 COCKROACH_SKIP_KEY_PERMISSION_CHECK=true 來禁用此檢查。

使用此信息,我們可以更改教程的步驟 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服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM