Amazon Linux 2023安装MongoDB 7后mongosh无法运行求助
问题:Amazon Linux 2023上MongoDB 7运行正常,但mongosh启动报OpenSSL配置错误
在新的Amazon Linux 2023机器上安装了MongoDB 7,MongoDB服务本身运行正常,但启动mongosh时出现如下错误:
[ec2-user@ip-172-31-35-26 ~]$ mongosh mongosh: OpenSSL configuration error: 00590487347F0000:error:030000A9:digital envelope routines:alg_module_init:unknown option:../deps/openssl/openssl/crypto/evp/evp_cnf.c:61:name=rh-allow-sha1-signatures, value=yes
安装MongoDB时的已安装组件清单:
Installed: cyrus-sasl-2.1.27-18.amzn2023.0.3.x86_64 cyrus-sasl-gssapi-2.1.27-18.amzn2023.0.3.x86_64 mongodb-database-tools-100.8.0-1.x86_64 mongodb-mongosh-2.0.0-1.el8.x86_64 mongodb-org-7.0.1-1.amzn2023.x86_64 mongodb-org-database-7.0.1-1.amzn2023.x86_64 mongodb-org-database-tools-extra-7.0.1-1.amzn2023.x86_64 mongodb-org-mongos-7.0.1-1.amzn2023.x86_64 mongodb-org-server-7.0.1-1.amzn2023.x86_64 mongodb-org-tools-7.0.1-1.amzn2023.x86_64 openssl-1:3.0.8-1.amzn2023.0.4.x86_64 Complete!
多次重装所有组件(包括OpenSSH)后问题仍未解决,求解决建议。
解决方案
- 临时修复:启动mongosh前临时禁用OpenSSL配置选项环境变量
OPENSSL_CONF=/dev/null mongosh - 永久修复:修改mongosh启动逻辑,添加环境变量
- 确认mongosh可执行文件路径,通常为
/usr/bin/mongosh - 在
/usr/local/bin下创建包装脚本mongosh:#!/bin/bash OPENSSL_CONF=/dev/null /usr/bin/mongosh "$@" - 给脚本添加执行权限:
chmod +x /usr/local/bin/mongosh - 确保
/usr/local/bin在系统PATH中的优先级高于/usr/bin
- 确认mongosh可执行文件路径,通常为
- 版本适配方案:升级mongosh到适配Amazon Linux 2023的版本,当前安装的是el8适配包
mongodb-mongosh-2.0.0-1.el8.x86_64,替换为Amazon Linux 2023专属包即可。
问题根源:Amazon Linux 2023的OpenSSL配置包含
rh-allow-sha1-signatures选项,但el8版本的mongosh依赖的OpenSSL不识别该选项,导致启动失败。
内容的提问来源于stack exchange,提问作者Nickpick
相关产品推荐
相关产品推荐

