在启用SSL的情况下从远程服务器连接到cassandra cqlsh

问题描述 投票:0回答:1

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

$ 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)
ssl cassandra cqlsh
1个回答
0
投票

按照以下步骤进行故障排除

  1. 从host-local检查远程节点证书(host-remote)的主题,有效性,颁发者 回声| openssl s_client -showcerts -connect host-remote:cassandra-ssl-port 2> / dev / null | openssl x509 -noout -subject -dates -issuer
  2. 检查cqlsh.cer.pem它可能只有一个条目并且具有CN = host-local的主题,这可能是您能够连接到本地但不是远程主机的可能原因。 openssl x509 -text -noout -in在cqlhrc文件/ cqlsh.cer.pem中信任的路径

您的信任库也应具有根证书/ CA证书,以通过成功验证来自远程节点的证书链来连接到远程主机。您可能需要在trutstore中嵌入根证书

请参阅this以在cassandra中应用ssl。

© www.soinside.com 2019 - 2024. All rights reserved.