为什么MongoDB(使用SSL)多次要求使用.pem密码短语?
我使用以下命令启动MongoDB(我最终将添加到脚本中): 之后,mongo将提示: 输入PEM密码短语 这很好,但输入正确的密码短语后,它会再次询问。一次又一次 Mongo连续五次请求PEM密码强> 我知道我输入的密码是正确的,因为如果我只输入了一次错误的密码,就会收到一条失败消息 这正常吗?除了从pem文件中删除密码外,还有其他方法可以简化此过程吗 我的最终目标是让我的spring boot应用程序在本地MongoDB还没有运行的情况下用SSL启动它,但是要求5次密码是荒谬的 版本信息:为什么MongoDB(使用SSL)多次要求使用.pem密码短语?,mongodb,ssl,Mongodb,Ssl,我使用以下命令启动MongoDB(我最终将添加到脚本中): 之后,mongo将提示: 输入PEM密码短语 这很好,但输入正确的密码短语后,它会再次询问。一次又一次 Mongo连续五次请求PEM密码 我知道我输入的密码是正确的,因为如果我只输入了一次错误的密码,就会收到一条失败消息 这正常吗?除了从pem文件中删除密码外,还有其他方法可以简化此过程吗 我的最终目标是让我的spring boot应用程序在本地MongoDB还没有运行的情况下用SSL启动它,但是要求5次密码是荒谬的 版本信息: Mo
- MongoDB外壳版本3.4.4
- git版本:888390515874a9debd1b6c5d36559ca86b44babd
- OpenSSL版本:OpenSSL 0.9.8zh 2016年1月14日
- 分配器:系统
- 模块:无
- 构建环境:
- 搜索区:x86_64
- 目标搜索:x86搜索64
mongod --config /etc/mongod.conf
您需要在以下结构中指定PEMKeyPassword:
net:
port: <int>
bindIp: <string>
maxIncomingConnections: <int>
wireObjectCheck: <boolean>
ipv6: <boolean>
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <int>
http:
enabled: <boolean>
JSONPEnabled: <boolean>
RESTInterfaceEnabled: <boolean>
ssl:
sslOnNormalPorts: <boolean> # deprecated since 2.6
mode: <string>
PEMKeyFile: <string>
PEMKeyPassword: <string>
clusterFile: <string>
clusterPassword: <string>
CAFile: <string>
CRLFile: <string>
allowConnectionsWithoutCertificates: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
disabledProtocols: <string>
FIPSMode: <boolean>
compression:
compressors: <string>
net:
端口:
宾迪普:
最大输入连接:
wireObjectCheck:
ipv6:
unixDomainSocket:
启用:
路径前缀:
文件权限:
http:
启用:
JSONPEnabled:
可恢复的:
ssl:
sslOnNormalPorts:#自2.6版以来已弃用
模式:
PEMKeyFile:
密码:
群集文件:
群集密码:
卡菲尔:
CRLFile:
AllowConnectionswithout证书:
allowInvalidCertificates:
AllowInvalidHostName:
禁用的协议:
FIPSMode:
压缩:
压缩机:
启动mongod时是否尝试指定PEMKeyPassword选项?谢谢,我没有尝试过!虽然这确实会阻止mongo多次询问密码,但它也会在终端历史记录中保留私钥的密码。将其添加为答案以供进一步参考,如果您能够接受,我们将不胜感激。这确实会阻止mongo多次询问密码,但是,在终端历史记录中保留私钥密码不是最佳做法。我会给这个问题一天时间,希望在接受这个答案之前,能找到一个更理想的解决方案。谢谢实际上,您应该使用一个配置文件来启动mongod实例,这样您的密码就不会出现在终端历史记录中。把这个加在你的答案上,我会接受的。加上@Allen:)谢谢你的帮助!
net:
port: <int>
bindIp: <string>
maxIncomingConnections: <int>
wireObjectCheck: <boolean>
ipv6: <boolean>
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <int>
http:
enabled: <boolean>
JSONPEnabled: <boolean>
RESTInterfaceEnabled: <boolean>
ssl:
sslOnNormalPorts: <boolean> # deprecated since 2.6
mode: <string>
PEMKeyFile: <string>
PEMKeyPassword: <string>
clusterFile: <string>
clusterPassword: <string>
CAFile: <string>
CRLFile: <string>
allowConnectionsWithoutCertificates: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
disabledProtocols: <string>
FIPSMode: <boolean>
compression:
compressors: <string>