MeshCentral (远程监控管理)服务端 部署教程


0x01 项目介绍

MeshCentral 是一个完整的基于 Web 的远程桌面、终端和文件管理功能的远程管理工具。您可以在自己的 Web 服务器,部署使用 MeshCentral 远程管理和控制本地网络或互联网上的任何地方的计算机。 MeshCentral 部署完成启动服务后,创建设备组,并在您想要管理的计算机上下载并安装代理。稍等片刻,你安装代理的电脑就会出现在 MeshCentral 网站上你就可以通过 MeshCentral Web 界面控制这台电脑。

0x02 更新系统

MeshCentral 部署教程基于 Ubuntu 20.04 LTS 干净环境下部署,需要安装 npm、nodejs、 mongodb 因此建议在新的服务器上部署,如果你的服务器存在着软件可能会造成冲突,导致部署失败。在你准备部署前建议先看安装指南和用户指南。

在开始部署前先更新系统并启用 universe 存储库并更新系统及已经安装的软件;

sudo add-apt-repository universe    # 启用universe 存储库;
sudo apt update    # 更新系统;
sudo apt upgrade    # 更新已安装的软件;
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x03 安装软件

MeshCentral 需要使用 nodejs 及 npm,使用下面命令进行安装;安装完成后使用命令查看当前版本,确定已安装成功;

sudo apt install nodejs -y    # 安装 nodejs;
sudo apt install npm -y    # 安装 npm;
node -v    # 查看 nodejs 版本;
npm -v    # 查看 npm 版本;
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x04 安装数据库

MongoDB 是非必须安装,但是如果你安装 MeshCentral 管理超过100台电脑官方建议使用 MongoDB 数据库,如果没有那么多需求可以使用 MeshCentral 自带的 NeDB 数据库;用不用先不管我们先装上吧;

sudo apt install mongodb -y    # 安装 MongoDB 数据库;
sudo systemctl start mongodb    # 启动 MongoDB 数据库;
sudo systemctl enable mongodb    # 停止 MongoDB 数据库;
mongo --host 127.0.0.1:27017    # 测试链接 MongoDB 数据库 exit 退出链接;
/var/log/mongodb    # MongoDB 数据库日志存放位置;
/var/lib/mongo    # MongoDB 数据库存放位置;
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x05 端口权限

在 Linux 系统中为了安全 1024 以下端口禁止非 root 用户使用,MeshCentral 需要使用到 80、443因此需要给使用这些端口的执行程序使用 setcap 添加权限;

whereis node    # 定位 node 路径;
sudo setcap cap_net_bind_service=+ep /usr/bin/node    # 使用 setcap 给 node 添加权限;
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x06 安装 MeshCentral

使用 npm 安装 MeshCentral 如下图中出现的黄色警告可以忽略,只要是提示 nodejs 的 debug 包版本存在问题需要升级;

npm install meshcentral    # 安装 MeshCentral;
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x07 运行 MeshCentral

MeshCentral 安装完成后使用一下命令启动 MeshCentral;这个窗口如果关闭那么 MeshCentral 的服务也就停止,现在只是测试安装完是否可以访问,后续添加服务自动启停或者手动启停;按 Ctrl+C 可以停止;

node ./node_modules/meshcentral    # 启动 MeshCentral;
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x08 测试访问

启动 MeshCentral 服务,在浏览器中输入服务器的 ip 地址即可访问 MeshCentral 的 Web 界面。默认创建的第一个用户为 MeshCentral 的管理员,点击 Create one 开始创建用户;

MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x09 中文设置

MeshCentral 支持中文,但是貌似都是机器翻译。不管了有总比没有好吧凑活着用吧。My Account → Localization Settings 设置当前用户的默认语言和时区,如下图,设置完成需要退出重新登录;


MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x10 切换数据库

在 0x04 步骤已解释 MongoDB 是非必须安装,MeshCentral 安装完默认使用 MeshCentral 自带的 NeDB 数据库,这一步我将默认的 NeDB 数据库修改为 MongoDB 数据库,修改完测试 MeshCentral 可以正常启动就可以删掉自带的 NeDB数据库,切换完数据库后 0x08 步骤创建的用户也将失效,因为链接了新的数据库需要再次创建第一个用户为管理员;

pico ~/meshcentral-data/config.json    # 编辑 config.json 配置文件;
"_MongoDb": "mongodb://127.0.0.1:27017/meshcentral",    # 添加 MongoDB 数据库,添加位置如下图;
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x11 手动启停

使用命令创建两个文件:mcstart 启动,mcstop 停止;来手动管理 MeshCentral 服务的启停;如果需要开机自动启动看下一步操作;

echo "node ./node_modules/meshcentral > stdout.txt 2> stderr.txt &" > mcstart    # 创建启动文件;
chmod 755 mcstart    # 赋予权限;
echo "pkill –f node_modules/meshcentral" > mcstop    # 创建停止文件;
chmod 755 mcstop    # 赋予权限;
./mcstart    # 启动 MeshCentral 服务;
./mcstop    # 停止 MeshCentral 服务;
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈

0x12 自动启停

0x11 步骤中创建了手动启停文件,这一步将 MeshCentral 服务设置为开机自动启动。开机启动服务需要创建文件编辑添加一下代码;在开始前需要注意先获取当前用户组,以免造成权限不足启动失败;从下图的 ls -l 命令中看到当前用户为: opss ,用户组为:opss;请将代码中的 opss 替换为你的用户和用户组,User=用户 Group=用户组;

ls -l    # 列出当前用户的权限;
sudo pico /etc/systemd/system/meshcentral.service    # 添加开机启动服务,编辑保存文件;
[Unit]
Description=MeshCentral Server

[Service]
Type=simple
LimitNOFILE=1000000 ExecStart=/usr/bin/node /home/opss/node_modules/meshcentral 
WorkingDirectory=/home/opss
Environment=NODE_ENV=production 
User=opss 
Group=opss
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=10
# Set port permissions capability
AmbientCapabilities=cap_net_bind_service
[Install]
WantedBy=multi-user.target
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈
MeshCentral (远程监控管理)服务端 部署教程-运维圈

以上文件修改创建完成后就可以使用一下命令进行管理了;

sudo systemctl enable meshcentral.service    # 开启 MeshCentral 自动启动服务;
sudo systemctl start meshcentral.service    # 启动 MeshCentral 服务;
sudo systemctl stop meshcentral.service    # 停止 MeshCentral 服务;
sudo systemctl disable meshcentral.service    # 关闭 MeshCentral 自动启动服务;
MeshCentral (远程监控管理)服务端 部署教程-运维圈

给TA买糖
共{{data.count}}人
人已赞赏
文章教程

Photoshop(PS)无法打开文件,因为暂存盘已满

2021-9-14 11:05:51

文章教程

MeshCentral (远程监控管理)代理端 安装教程

2021-9-16 8:44:51

⚠️
运维社区资源内容收集整理于互联网仅用于测试学习环境下使用,如在生产环境使用后果自负!其著作权归原作者所有!
如果有侵犯您权利的资源,我们将及时下架相应资源,请联系:eOps@foxmail.com「需附上权利证明」或点击  运维社区QQ客服
个人中心
今日签到
搜索