从启用ssl的远程服务器连接到cassandra cqlsh

guykilcj  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(441)

我有一个kubernetes运行3节点cassandra集群。当我尝试从本地机器连接到cqlsh时,它工作正常。但是在集群上启用ssl之后,我看到了下面的错误。我试着在我的本地机器和kubernetes pods上设置cqlshrc,但仍然是相同的错误。有人能帮我吗?

$ kubectl run -i --tty --restart=Never --rm --image cassandra cqlsh -- cqlsh cassandra-0.cassandra.default.svc.cluster.local -u cassandra -p password --ssl
Validation is enabled; SSL transport factory requires a valid certfile to be specified. Please provide path to the certfile in [ssl] section as 'certfile' option in /root/.cassandra/cqlshrc (or use [certfiles] section) or set SSL_CERTFILE environment variable.
pod "cqlsh" deleted
pod default/cqlsh terminated (Error)
5f0d552i

5f0d552i1#

按照以下步骤进行拍摄
从本地主机检查远程节点证书(host remote)的主题、有效性、颁发者
echo | openssl s|u客户端-showcerts-连接主机-remote:cassandra-ssl-port 2>/dev/null | openssl x509-noout-主题-日期-颁发者
检查cqlsh.cer.pem它可能只有一个条目,并且主题为cn=host local,这可能是您能够连接到本地而不是远程主机的原因。
opensslx509-text-noout-in路径到信任库,位于cqlhrc文件/cqlsh.cer.pem中
您的信任库还应该具有根证书/ca证书,以便通过成功验证来自远程节点的证书链来连接到远程主机。您可能需要在trutstore中嵌入根证书
请参阅此以在cassandra中应用ssl。

相关问题