一、Ubuntu22.0安装EMQX5.0——用自签证书开启SSL实现双向认证

本文详细指导了在Ubuntu22.0上安装EMQX5.0并配置SSL双向认证的过程,包括自签证书生成和EMQXDashboard的配置步骤,确保小白也能顺利连接测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

折腾了一个礼拜,看了各位大神的博客,但是对于什么也不懂的小白,想要EMQX5.0开启SSL认证成功连接,真是一头雾水,可能存在一部分像我一样比较菜鸡的小白吧。此文是从安装EMQX到配置好SSL并连接测试成功的教程,大神绕过。另外,对Ubuntu一点点也不懂的小白,也请绕过。

一、说明

        本文是建立在Ubuntu22.0系统上。系统安装的是EMQX5.0以上的版本,其他版本请参照论坛其他教程。本文使用的系统已关闭防火墙,如果默认开启防火墙,请记得放行相关端口:22 tcp, 18083 tcp, 8883 tcp等端口。

二、安装EMQX

        EMQX官网:EMQX: 大规模分布式 MQTT 消息服务器

        这里我们选择Ubuntu系统选择APT安装,具体如下:

        APT安装:

        1. 配置 EMQX Apt 源

curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash

        2. 安装 EMQX

sudo apt-get install emqx

        3. 启动 EMQX

sudo systemctl start emqx

        4. 启动激活

emqx start

        当出现如下 截图,说明安装启动正常。

  

三、卸载

        如果安装过程有问题,或者想卸载,再安装指定版本,方法如下:

        1.停止EMQX服务器

sudo systemctl stop emqx

        2. 卸载

sudo apt-get remove emqx

        3. 删除文件夹

sudo rm -rf /etc/emqx
sudo rm -rf /var/lib/emqx

        4. 卸载EMQX 的各项依赖包

sudo apt-get autoremove

四、配置SSL双向认证

        本文只详细解说自签认证,对于购买的域名认证,请自行测试。

        1. 生成根证书私钥

openssl genrsa -out ca.key 2048

        2.生成根证书

openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.pem

        中间根据提示填写相关信息,需要输入省份、城市、公司、组织、姓名、邮件,填写内容一般不影响。

        3.生成服务端证书私钥

openssl genrsa -out emqx.key 2048

        4.生成服务端证书请求

        需要手动创建一个openssl.cnf的文件,仅需设置IP地址,放到 /root根目录(与之前生产的密钥在同一个地方),其中IP.1DNS.1修改为服务器地址。可以使用vi编辑器和touch指令完成。建议采用ssh工具,方便导入或者粘贴。

[req]
default_bits  = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = CN
stateOrProvinceName = Jiangsu
localityName = Suzhou
organizationName = EMQX
commonName = CA
[req_ext]
subjectAltName = @alt_names
[v3_req]
subjectAltName = @alt_names
[alt_names]
IP.1 = 1.94.66.xx
DNS.1 = 1.94.66.xx

        文件建立完成后,生成服务端证书请求:

openssl req -new -key ./emqx.key -config openssl.cnf -out emqx.csr

         5.生成服务端证书

openssl x509 -req -in ./emqx.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out emqx.pem -days 3650 -sha256 -extensions v3_req -extfile openssl.cnf

        6.生成客户端证书私钥

openssl genrsa -out client.key 2048

        7.生成客户端证书请求

openssl req -new -key client.key -out client.csr -subj "/C=CN/ST=Jiangsu/L=Suzhou/O=EMQX/CN=client"

        8.生成客户端证书

openssl x509 -req -days 3650 -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.pem

        9.将/root文件夹下生产ca.key、ca.pem、client.key、client.pem、emqx.key、emqx.pem六个文件复制到etc/emqx/certs文件夹,然后再下载到本地计算机上备用。

至此,自签证书创建完毕。

        10.配置EMQX开启SSL

        本文采用EMQX Dashboard配置SSL,其他方式请自行尝试。系统安装的为MQTT5.0版本。

        进入EMQX Dashboard,例如:http://1.94.66.XX:18083/,输入用户admin,密码xxxxx(初始密码为public).

        进入监听器选项

点击ssldefault,配置TLS CertTLS keyCA Cert文件路径,如下:

也可以将下载的emqx.pem、emqx.key、ca.pem文件用文本编辑器打开依次复制粘贴到TLS CertTLS keyCA Cert配置。(其他方法本文不再赘述,各位自行测试。)

        11.客户端测试

        打开客户端,设置如下配置,注意红框的地方,最后依次导入下载好的三个文件:ca.pemclient.pemclient.key

        点击连接,测试连接成功。

至此,EMQX5.0配置SSL完毕,测试正常。本文参照了部分资料,如有侵权,请联系本人,谢谢。

<think>好的,我现在需要帮助用户了解如何在Ubuntu安装EMQX。首先,我得确认EMQX是什么。EMQX个开源的MQTT消息代理,用于物联网通信。用户可能需要在Ubuntu服务器上部署它,以便处理设备间的消息传递。 接下来,我需要回忆安装EMQX的方法。通常,在Ubuntu安装软件可以通过apt包管理器,或者从官网下载deb包安装。可能还有其他方式,比如使用Docker,但用户的问题没有提到Docker,所以可能优先考虑直接安装。 首先,我应该检查EMQX的官方文档,确认最新的安装步骤。不过现在假设我记得正确的步骤。通常,EMQX提供APT仓库,这样用户可以直接添加仓库并安装,这样也方便后续更新。 步骤大概包括:添加EMQX的APT仓库,更新包列表,然后安装emqx包。需要确保用户的系统是Ubuntu,并且版本支持。比如,EMQX可能支持Ubuntu 20.04或22.04等LTS版本。 另外,可能需要安装些依赖,比如curl来下载GPG密钥,或者https传输的支持。如果用户没有安装这些,可能需要先安装它们。 安装完成后,可能需要启动EMQX服务,并设置开机自启。然后检查服务状态,确认是否运行正常。之后,用户可能想通过浏览器访问EMQX的管理控制台,默认端口是18083,需要确保防火墙允许该端口。 可能出现的问题包括:GPG密钥添加失败,APT源列表错误,或者端口被占用。需要提示用户如何处理这些问题,比如检查网络连接,确认步骤正确,或者查看日志。 另外,用户可能想知道如何卸载EMQX,所以也应该包括卸载步骤,使用apt remove命令。 总结步骤应该是:添加仓库、安装、启动服务、访问管理界面、基本命令(启动、停止、状态、卸载)。需要确保命令准确,比如正确的GPG密钥和源地址。 现在需要验证这些步骤是否正确。比如,EMQX的APT仓库地址是否正确?可能需要访问他们的官方网站查看。例如,他们的文档可能提到使用以下命令: curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash 或者手动添加GPG密钥和源列表。如果手动添加的话,步骤可能如下: 1. 安装依赖:apt install -y apt-transport-https ca-certificates curl 2. 导入GPG密钥: curl -fsSL https://repos.emqx.io/gpg.pub | sudo gpg --dearmor -o /usr/share/keyrings/emqx.gpg 3. 添加源到sources.list.d: echo "deb [signed-by=/usr/share/keyrings/emqx.gpg] https://repos.emqx.io/emqx-ce/deb/ubuntu/ ./$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/emqx.list 然后更新和安装。 或者使用他们提供的安装脚本。可能需要确认哪种方式更推荐,通常官方脚本会更方便,但用户可能更信任手动步骤。 另外,安装完成后,默认的配置文件路径可能在哪里,比如/etc/emqx/emqx.conf,但用户可能不需要立即修改配置。 还要提醒用户检查防火墙设置,允许MQTT的默认端口1883和管理端口18083。 如果用户遇到问题,可以查看日志:journalctl -u emqx --since "10 minutes ago" 或者服务状态:systemctl status emqx 总结下来,步骤应该是清晰的,逐步引导用户完成安装和验证过程。</think>在Ubuntu安装EMQX(开源MQTT消息代理)的步骤如下,提供两种常用方法: --- ### **方法:通过APT仓库安装(推荐)** 1. **安装依赖工具** ```bash sudo apt update && sudo apt install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common ``` 2. **添加EMQX的GPG密钥** ```bash curl -fsSL https://repos.emqx.io/gpg.public | sudo gpg --dearmor -o /usr/share/keyrings/emqx.gpg ``` 3. **添加EMQX的APT仓库** ```bash echo "deb [signed-by=/usr/share/keyrings/emqx.gpg] https://repos.emqx.io/emqx-ce/deb/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/emqx.list ``` 4. **更新仓库并安装EMQX** ```bash sudo apt update sudo apt install emqx ``` 5. **启动EMQX并设置开机自启** ```bash sudo systemctl start emqx # 启动服务 sudo systemctl enable emqx # 启用开机自启 sudo systemctl status emqx # 检查状态 ``` --- ### **方法二:通过Debian包手动安装** 1. **下载最新版本的.deb包** ```bash wget https://www.emqx.com/zh/downloads/broker/5.6.0/emqx-5.6.0-ubuntu22.04-amd64.deb ``` > 注意:替换URL中的版本号和Ubuntu版本(如`ubuntu20.04`)。 2. **安装.deb包** ```bash sudo dpkg -i emqx-5.6.0-ubuntu22.04-amd64.deb ``` 3. **启动服务(同上)** ```bash sudo systemctl start emqx ``` --- ### **验证安装** 1. **访问管理控制台** 浏览器打开:`http://服务器IP:18083`,默认账号 `admin`,密码 `public`。 2. **测试MQTT服务** 使用MQTT客户端连接端口 `1883`(明文)或 `8883`(SSL)。 --- ### **常用命令** ```bash sudo systemctl start emqx # 启动 sudo systemctl stop emqx # 停止 sudo systemctl restart emqx # 重启 sudo journalctl -u emqx -f # 查看实时日志 ``` --- ### **卸载EMQX** ```bash sudo apt remove --purge emqx sudo rm -rf /etc/apt/sources.list.d/emqx.list /usr/share/keyrings/emqx.gpg ``` --- ### **注意事项** 1. 确保防火墙开放端口 `1883`、`8883`、`18083`。 2. 配置文件路径:`/etc/emqx/emqx.conf`。 3.安装失败,检查网络或尝试更换APT镜像源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值