gpt4 book ai didi

ssl - 将 cqlsh 与 ssl 结合使用

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:07 26 4
gpt4 key购买 nike

我在我的 cassandra 节点中启用了 ssl 加密,我正在尝试弄清楚如何使用 cqlsh 和 ssl 连接到我的节点:

当我运行 ./cqlsh --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.

我点击了 https://docs.datastax.com/en/cassandra/2.1/cassandra/security/secureCqlshSSL_t.html 上的链接:

[authentication]
username = fred
password = !!bang!!$

我保留在根文件夹中,以便任何用户都可以登录并可以访问公共(public)文件夹(而不是在我的用户目录中)。但是在这种情况下密码是什么?我需要输入密码吗?!

certfile = ~/keys/node0.cer.pem

我是否需要将此证书文件添加到 cassandra 的信任库中,或者我是否可以只添加 cassandra 节点证书本身?

我正在使用 Cassandra 2.2.7。

最佳答案

完成这项工作需要做一些事情:

However what would be the password in this case? Do I need to put my password?!

在您的 cqlshrc 文件中,这指的是用于身份验证/授权的用户名和密码。你真的不需要在这里添加它。如果不这样做,请记住在 cqlsh 命令行上指定 -u username -p password 标志。

Will I need to add this certfile to the cassandra's truststore, or can I just add cassandra nodes certificate itself.

对于客户端到节点的 SSL,您实际上不需要使用信任库。

如果您按照上述文档中的步骤操作,您的 keystore 文件中应该已经包含证书的私钥部分。然后,您可以将该证书的公共(public)部分导出到一个文件中。然后您会将该文件转换为 PKCS12 文件以用于 cqlsh。从您在上面使用的文件名来看,您似乎已经做到了。

例如,这里是一个示例 cqlshrc 文件,它应该连接到 2.2.x 集群:

[connection]
factory = cqlshlib.ssl.ssl_transport_factory

[ssl]
certfile = ~/certs/dev-cluster1.cer.pem
validate = false

[authentication]
username = cassuser
password = 12345

确保您正在设置 ssl_transport_factory

关于ssl - 将 cqlsh 与 ssl 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40179429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com