按照MongoDB SSLencryption和Spring的驱动程序中概述的说明,我得到了2.1.0,并且在构build它之后,它说它不识别sslOnNormalPorts,sslPEMKeyFile或sslPEMKeyPassword。
但是我看到了一个–keyFile,并且使用了它(我不得不删除前后的—–开始RSA私钥—-和—–结束RSA私钥—-,从Base64编码密钥开始“==”)。
现在,如果我启动mongo shell,我的所有命令都可以正常工作(show dbs,使用xyz,db.abc.find()等)
如果我尝试指定主机和端口,我会得到:
mongo --host 192.168.1.100 --port 27017 MongoDB shell version: 2.1.0 connecting to: 192.168.1.100:27017/test show dbs Mon Apr 30 21:37:37 uncaught exception: listDatabases failed:{ "errmsg" : "need to login", "ok" : 0 }
如果我添加–ssl标志来启动mongo shell,它只是挂起。 当mongod吐出来的时候:
Mon Apr 30 21:40:53 [initandlisten] options: { keyFile: "/Users/tshrestha/Downloads/key.pem" } Mon Apr 30 21:40:53 [initandlisten] journal dir=/data/db/journal Mon Apr 30 21:40:53 [initandlisten] recover : no journal files present, no recovery needed Mon Apr 30 21:40:53 [websvr] admin web console waiting for connections on port 28017 Mon Apr 30 21:40:53 [initandlisten] waiting for connections on port 27017 Mon Apr 30 21:41:16 [initandlisten] connection accepted from 192.168.1.102:64413 #1 (1 connection now open) Mon Apr 30 21:41:53 [clientcursormon] mem (MB) res:14 virt:2419 mapped:0
我在Mac OSX 10.7上
密钥文件选项用于在mongod实例之间进行authentication,而不是SSL–它将简单的SSL密钥视为一串字符。 你有什么是一个非常长的密码,没有更多。 在这里看到更多的信息:
http://www.mongodb.org/display/DOCS/Security+and+Authentication
你错过了你必须用ssl标志使用scons重新编译的部分。 重新阅读本页:
http://www.mongodb.org/display/DOCS/Building+for+OS+X
您需要按照说明进行操作,直到您find所需的部分:
scons all
对于启用SSL的构build,您将需要使用:
scons --ssl all
构build完成后,mongod会识别您的SSL相关选项。 注 – 我已经在Mac OS X上多次执行了这个操作,没有任何问题。