2017-05-23 52 views
0

我開始MongoDB的使用下面的命令(我最終會添加到腳本):爲什麼MongoDB(使用SSL)多次請求.pem密碼?

mongod --sslMode requireSSL --sslPEMKeyFile ./certs/myCertAndKey.pem 

之後,蒙戈提示:

輸入密碼PEM

這是好的,但一旦輸入正確的密碼,它會再次提問。然後再次。

Mongo要求PEM密碼連續五次! 我知道我輸入的密碼正確,因爲如果我只輸入一次錯誤,我會收到失敗消息。

這是正常的嗎?除了從pem文件中刪除密碼之外,有沒有簡化這種方法的方法?

我的最終目標是讓我的spring啓動應用程序使用SSL啓動本地MongoDB,如果它尚未運行,但要求密碼5次是荒謬的。

版本信息:

  • MongoDB的外殼版本v3.4.4
  • Git版本:888390515874a9debd1b6c5d36559ca86b44babd
  • OpenSSL的版本:OpenSSL的0.9.8zh 2016年1月14日
  • 分配:系統
  • 模塊:無
  • 構建環境:
    • 二澱粉:x86_64的
    • TARGET_ARCH:x86_64的
+0

你有沒有嘗試指定PEMKeyPassword選項,同時啓動mongod的? –

+1

謝謝,我沒有嘗試過!雖然這確實會阻止mongo多次請求密碼,但它也會在終端歷史記錄中保留私鑰的密碼。 – Allen

+0

添加它作爲進一步參考的答案,將不勝感激,如果你能接受它 –

回答

1

您可能需要通過指定PEMKeyPassword

要開始使用配置文件的mongod禁用密碼的promption,您可以使用下面的命令:

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> 
+0

這確實阻止它多次要求密碼,但是在終端歷史記錄中留下您的私鑰密碼不是最佳實踐。 我會在接受此答案之前一天提出這個問題,希望能夠得到更理想的解決方案。謝謝! – Allen

+0

其實你應該使用一個配置文件來啓動mongod實例,以便你的密碼不會在終端歷史記錄中。 –

+0

是的,我要去配置文件。添加到你的答案,我會接受它。 – Allen

相關問題