我已经在我的 cassandra 节点中启用了 ssl 加密,并且我正在尝试弄清楚如何使用带有 ssl 的 cqlsh 连接到我的节点:
当我跑步时./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 https://docs.datastax.com/en/cassandra/2.1/cassandra/security/secureCqlshSSL_t.html:
[authentication]
username = fred
password = !!bang!!$
我保留在根文件夹中,以便任何用户都可以登录并访问公共文件夹(而不是在我的用户目录中)。但是在这种情况下密码是什么?我需要输入密码吗?
certfile = ~/keys/node0.cer.pem
我需要将此证书文件添加到 cassandra 的信任库中,还是可以只添加 cassandra 节点证书本身?
我正在使用 Cassandra 2.2.7。
要使这项工作有效,需要做一些事情:
但是在这种情况下密码是什么?我需要输入密码吗?
在您的 cqlshrc 文件中,这指的是用于身份验证/授权的用户名和密码。您实际上不需要在此处添加它。如果不这样做,请记住指定-u username -p password
cqlsh 命令行上的标志。
我是否需要将此证书文件添加到 cassandra 的信任库中,或者我可以只添加 cassandra 节点证书本身。
对于客户端到节点的 SSL,您实际上并不需要使用信任库。
如果您按照上述文档中的步骤操作,则您的密钥库文件中应该已包含证书的私钥部分。然后,您将将该证书的公共部分导出到文件中。然后,您可以将该文件转换为 PKCS12 文件以与 cqlsh 一起使用。从您上面使用的文件名来看,您似乎已经做到了这一点。
作为示例,以下是应连接到 2.2.x 集群的示例 cqlshrc 文件:
[connection]
factory = cqlshlib.ssl.ssl_transport_factory
[ssl]
certfile = ~/certs/dev-cluster1.cer.pem
validate = false
[authentication]
username = cassuser
password = 12345
确保您正在设置ssl_transport_factory
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)