#Что такое MeshCentral
MeshCentral — это универсальная платформа для управления компьютерами с открытым исходным кодом. Разместив собственный сервер MeshCentral, можно удалённо управлять компьютерами из любой точки мира. Платформа обеспечивает удобный веб-доступ к рабочему столу, управление терминалами и управление файлами. Установить сервер можно на Linux или Windows машине, внутри локальной сети или на сервере в Интернет-сети. На управляемые компьютеры нужно установить агента. Агенты есть под Windows, Mac, Linux, Android Администрировать можно отовсюду, так как для этого нужен только браузер для входа на сервер. Мне показалось это удобным и интересным решением для удалённого доступа.
Установлю на чистый новый виртуальный сервер с Ubuntu 24 с процессором 1 ядром и 2Гб памяти.
#Установка MeshCentral
Подключаюсь терминалом как root и начинаю установку.
Добавляю нового пользователя, пусть будет meshboss, прописываю ему пароль
adduser meshboss
info: Adding user `meshboss' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group `meshboss' (1000) ...
info: Adding new user `meshboss' (1000) with group `meshboss (1000)' ...
info: Creating home directory `/home/meshboss' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for meshboss
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
info: Adding new user `meshboss' to supplemental / extra groups `users' ...
info: Adding user `meshboss' to group `users' ...
Нового пользователя meshboss определяю в группу sudo
usermod -aG sudo meshboss
Выхожу из-под root и перелогиниваюсь как meshboss
login as: meshboss
password:
MeshCentral написан на javascript и запускается из-под node.js. Текущей версии нужен node.js не ниже 20. Устанавливаю node.js
sudo apt install -y curl apt-transport-https ca-certificates gnupg
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Устанавливаю пакетный менеджер npm
sudo apt install -y npm
Проверяю версии
node -v && npm -v
v24.16.0
9.2.0
По-умолчанию порты ниже 1024 не прослушиваются, нужно разрешить работу с ними для node.js. Узнаю куда установлен node.js и даю разрешение для него.
whereis node
node: /usr/local/bin/node /usr/include/node /usr/share/man/man1/node.1.gz
sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
Дальше устанавливаю сам MeshCentral в отдельную папку. Создаю папку, перехожу в неё.
sudo mkdir -p /opt/meshcentral
cd /opt/meshcentral
Устанавливаю в неё MeshCentral.
npm install meshcentral
Запускаю сервер MeshCentral в первый раз. Первый вывод информации от сервера отличается от последующих запусков. Сервер уже рабочий и теоретически им можно уже пользоваться.
node ./node_modules/meshcentral
MeshCentral HTTP redirection server running on port 80.
MeshCentral v1.2.0, LAN mode.
Generating certificates, may take a few minutes...
Generating root certificate...
Generating HTTPS certificate...
Generating MeshAgent certificate...
Generating code signing certificate...
Generating Intel AMT MPS certificate...
MeshCentral v1.2.0, LAN mode.
Code signed MeshCmdARM64.exe.
Code signed MeshService64.exe.
Code signed MeshService.exe.
Code signed MeshServiceARM64.exe.
Code signed MeshCmd.exe.
Code signed MeshCmd64.exe.
Server has no users, next new account will be site administrator.
MeshCentral HTTPS server running on port 443.
Если зайти по адресу сервера, то уже видим окно для логина и создания нового пользователя. Если его сейчас создать, то это будет юзер с правами администрирования. Не нужно сейчас создавать, буду настраивать дальше.

#Настройка MeshCentral для запуска как сервис
Чтобы вручную не запускать MeshCentral при перезагрузке или включении сервера, надо добавить запуск как сервис. Создаю конфигурацию для запуска в виде файла /etc/systemd/system/meshcentral.service с содержимым:
[Unit]
Description=MeshCentral Server
[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/local/bin/node /opt/meshcentral/node_modules/meshcentral
WorkingDirectory=/opt/meshcentral
Environment=NODE_ENV=production
User=meshboss
Group=meshboss
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
где User, Group имя моего пользователя (см. выше),
/usr/local/bin/node папка куда установился node.js,
/opt/meshcentral/node_modules/meshcentral папка куда установился код сервера (см. выше)
Дальше включаю новый сервис и запускаю его
sudo systemctl enable meshcentral.service
sudo systemctl start meshcentral.service
проверяю работает или нет, если нет будет вывод ошибок и их надо будет поправить.
systemctl status meshcentral.service
● meshcentral.service - MeshCentral Server
Loaded: loaded (/etc/systemd/system/meshcentral.service; enabled; preset: enabled)
Active: active (running) since Mon 2026-06-01 13:27:30 MSK; 4s ago
Main PID: 13417 (MainThread)
Tasks: 22 (limit: 2316)
Memory: 165.4M (peak: 203.2M)
CPU: 4.017s
CGroup: /system.slice/meshcentral.service
├─13417 /usr/local/bin/node /opt/meshcentral/node_modules/meshcentral
└─13429 /usr/local/bin/node --disable-proto=delete /opt/meshcentral/node_modules/meshcentral --launch 13417
node[13417]: MeshCentral HTTP redirection server running on port 80.
node[13417]: MeshCentral v1.2.0, Hybrid (LAN + WAN) mode, Production mode.
node[13417]: MeshCentral Intel(R) AMT server running on <IP>:4433.
node[13417]: MeshCentral HTTPS server running on <IP>:443.
Останавливаю MeshCentral
sudo systemctl stop meshcentral.service
#Настройка MeshCentral для работы с MongoDB
Устанавливаю сертификат
curl -fsSL https://pgp.mongodb.com/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
Добавляю репозиторий для текущей версии Ubuntu (noble)
#Add the official MongoDB repository (replace noble with your Ubuntu version if different, e.g., jammy for 22.04):
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Обновляю индексы репозитория и запускаю установку MongoDB
sudo apt-get update
sudo apt-get install -y mongodb-org
Если установка прошла удачно, добавляю сервис в автозагрузку
sudo systemctl enable mongod
Запускаю сервер баз данных MongoDB:
sudo systemctl start mongod
Проверяю статус сервиса:
systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; preset: enabled)
Active: active (running) since Mon 2026-06-01 12:32:31 MSK; 13s ago
Docs: https://docs.mongodb.org/manual
Main PID: 12472 (mongod)
Memory: 90.0M (peak: 90.2M)
CPU: 919ms
CGroup: /system.slice/mongod.service
└─12472 /usr/bin/mongod --config /etc/mongod.conf
MongoDb работает, теперь нужно прописать строчку в конифгурацию MeshCentral /opt/meshcentral/meshcentral-data/config.json. В раздел settings добавляю строчку "MongoDb": "mongodb://127.0.0.1:27017/meshcentral",
{
"$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json",
"__comment1__": "This is a simple configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
"__comment2__": "See node_modules/meshcentral/sample-config-advanced.json for a more advanced example.",
"settings": {
"MongoDb": "mongodb://127.0.0.1:27017/meshcentral",
"_cert": "myserver.mydomain.com",
"_WANonly": true,
"_LANonly": true,
"_sessionKey": "MyReallySecretPassword1",
"_port": 443,
"_aliasPort": 443,
"_redirPort": 80,
"_redirAliasPort": 80
},
"domains": {
"": {
"_title": "MyServer",
"_title2": "Servername",
"_minify": true,
"_newAccounts": true,
"_userNameIsEmail": true,
"softwareInventory": true
}
},
"_letsencrypt": {
"__comment__": "Requires NodeJS 8.x or better, Go to https://letsdebug.net/ first before trying Let's Encrypt.",
"email": "myemail@mydomain.com",
"names": "myserver.mydomain.com",
"skipChallengeVerification": true,
"production": false
}
}
Запускаю MeshCentral:
sudo systemctl start meshcentral.service
проверяю его работу:
systemctl status meshcentral.service
● meshcentral.service - MeshCentral Server
Loaded: loaded (/etc/systemd/system/meshcentral.service; enabled; preset: enabled)
Active: active (running) since Mon 2026-06-01 13:27:30 MSK; 4s ago
Main PID: 13417 (MainThread)
Tasks: 22 (limit: 2316)
Memory: 165.4M (peak: 203.2M)
CPU: 4.017s
CGroup: /system.slice/meshcentral.service
├─13417 /usr/local/bin/node /opt/meshcentral/node_modules/meshcentral
└─13429 /usr/local/bin/node --disable-proto=delete /opt/meshcentral/node_modules/meshcentral --launch 13417
node[13417]: MeshCentral HTTP redirection server running on port 80.
node[13417]: MeshCentral v1.2.0, Hybrid (LAN + WAN) mode, Production mode.
node[13417]: MeshCentral Intel(R) AMT server running on <IP>:4433.
node[13417]: MeshCentral HTTPS server running on <IP>:443.
#Настройка MeshCentral после запуска
В браузере перехожу по ip адресу сервера и создаю первую учётную запись, она же будет администратором сервера.

Первый вход в систему. Тут нужно создать группу устройств. Это просто логическое деление всех подключаемых устройств, к примеру по офисам.

А дальше самое интересное - добавить управляемое устройство через установку агента на него. Жму ссылку Добавить агент и выбираю нужного агента для скачивания.
Скачиваю файл с дистрибутивом агент под нужную ОС и теперь его нужно запустить на целевом компьютере. Вижу что-то вроде этого:
После установки агента, устройство сразу видно в панели сервера
Во так выглядит компьютер в окне удалённого управления

также успешно установил агента на другой Windows компьютер по сети через psexec для этого нужно агента запускать с ключом -fullinstall. Что-то типа этого:
.\psexec -i \\COMP_NAME -c meshagent64.exe -fullinstall
#Дальнейшие возможные шаги
Получил работающий MeshCentral сервер к которому есть доступ по IP. Что можно было бы ещё настроить:
- Настроить на работу из-под DNS имени
- В MeshCentral есть функционал обмена сообщениями с поддержкой Telegram, XMPP и других сервисов
- Настройка двухфакторной аутентификации к серверу