[英]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 文檔)。
你有兩個選擇:
后者在證書文檔中進行了描述:
密鑰(以.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.