Sau một số tìm kiếm, có vẻ như lỗi này là do tên máy chủ "CN" không chính xác.
Từ digitalocean :
Bất cứ khi nào bạn tạo CSR, bạn sẽ được nhắc cung cấp thông tin liên quan đến chứng chỉ. Thông tin này được gọi là Tên phân biệt (DN). Một trường quan trọng trong DN là Tên chung (CN), phải là Tên miền đủ điều kiện chính xác (FQDN) của máy chủ lưu trữ mà bạn định sử dụng chứng chỉ.
Cũng từ MongoDB tài liệu :
Nếu triển khai MongoDB của bạn sử dụng SSL, bạn cũng phải chỉ định tùy chọn --host. mongo xác minh rằng tên máy chủ của mongod hoặc mongos mà bạn đang kết nối khớp với CN hoặc SAN của chứng chỉ --sslPEMKeyFile của mongod hoặc mongos. Nếu tên máy chủ không khớp với CN / SAN, mongo sẽ không kết nối được.
GIẢI PHÁP:
Tôi đã tạo lại các khóa, thay thế localhost bằng bất kỳ tên máy chủ nào khác trong CN =< hostname > và hoàn thành hướng dẫn của Wan Bachtiar .
Chạy lệnh sau sau khi hoàn thành đã hoạt động:
$ mongo --port 27017 -u '<_username_>' -p '<_password_>'
--authenticationDatabase "<_my db_>" --ssl --sslPEMKeyFile
/etc/ssl/client.pem --sslCAFile /etc/ssl/ca.pem --host localhost
Lưu ý:MongoDB tuân theo một quy định nghiêm ngặt về việc ai có quyền truy cập vào db gì, một bài kiểm tra nhanh trong trình bao mongo:
trả về một lỗi. Tuy nhiên, người dùng của tôi thực sự chỉ có quyền truy cập vào db được chỉ định trong "< my db > ", nên lặp qua các hàng trong" < my db > "hoạt động hoàn hảo.