MeshCentral − система с открытым исходным кодом для удалённого управления компьютерами через веб-интерфейс. Она позволяет подключаться для управления к устройствам, работающим на Windows, Linux и macOS. Управление удалёнными компьютерами работает через браузер и не использует какие-либо облачные сервисы. Сервер MeshCentral можно развернуть как на физическом устройстве, так и на VPS. Для управления удалёнными узлами MeshCentral использует агенты, которые самостоятельно устанавливают обратное соединение с сервером. Применение данного сервиса удобно в случаях, когда управляемое устройство находится за NAT или внутри защищённой сети.
В статье разберём, как установить MeshCentral на виртуальный сервер, работающий под управлением Ubuntu 24.04.
Установка Node.js
MeshCentral написан на JavaScript и запускается через Node.js. Поэтому для его работы требуется установленная среда Node.js. В нашем справочнике есть статья, посвящённая установке Node.js с использованием различных способов.
При этом следует отметить, что для установки и стабильной работы MeshCentral лучше всего подходит способ инсталляции Node.js из стандартного репозитория Ubuntu. Всё дело в том, что при использовании данного метода устанавливается официально поддерживаемая MeshCentral и проверенная на совместимость LTS-версия.
Исходя из этого, обновите списки пакетов в системе, после чего запустите инсталляцию Node.js:
$ sudo apt update
$ sudo apt install nodejs
Затем проверьте версию установленного пакета:
$ node -v

Для загрузки и установки MeshCentral и всех его зависимостей потребуется менеджер пакетов Node Package Manager (npm
). Поэтому следующей командой проинсталлируйте и его, также с использованием официального репозитория Ubuntu:
$ sudo apt install npm
После чего проверьте версию npm
, чтобы убедиться в корректной установке данного пакета:
$ npm -v

Как установить MeshCentral на Ubuntu
Поскольку доступ к веб-интерфейсу MeshCentral организован с использованием TCP-порта 443, необходимо, во-первых, открыть доступ к виртуальному серверу для данного порта. Чтобы это сделать, добавьте соответствующее разрешающее правило в брандмауэр UFW:
$ sudo ufw allow 443
На следующем шаге создайте основную директорию MeshCentral. Она будет использоваться для размещения всех его компонентов, кроме данных:
$ sudo mkdir /opt/meshcentral
Затем перейдите в созданный каталог:
$ cd /opt/meshcentral
Находясь в каталоге /opt/meshcentral
, установите пакет MeshCentral. Следующая команда загружает в текущий каталог его код и все необходимые зависимости:
$ sudo npm install meshcentral
По окончании инсталляции запустите MeshCentral командой:
$ sudo node node_modules/meshcentral
Затем дождитесь появления в терминале строки:
MeshCentral HTTPS server running on port 443.

После чего откройте браузер и перейдите на https://X.X.X.X
, чтобы проверить работоспособность установленного софта. Здесь X.X.X.X
замените на IP-адрес вашего виртуального сервера или привязанное к нему доменное имя.
При запуске MeshCentral автоматически включает HTTPS, даже если на сервере не установлен сертификат от удостоверяющего центра. Чтобы шифровать соединение, MeshCentral генерирует самоподписанный сертификат. Такое соединение технически является защищённым, но браузеры ему не доверяют, поскольку не могут проверить подлинность сертификата. Что естественно, так как он не выпущен доверенной стороной, вроде Let’s Encrypt. По этой причине браузер сообщает, что данное подключение небезопасно, хотя на самом деле зашифровано. Руководствуясь данным обстоятельством, для перехода к веб-интерфейсу кликните на ссылку, которая ведёт на виртуальный сервер, несмотря на предупреждение браузера.

Если в результате произведённых действий браузер откроет стартовую страницу сайта MeshCentral, значит программное обеспечение установлено и можно продолжить его настройку.

Для завершения работы MeshCentral вернитесь в терминал и нажмите Ctrl C
.
Как запустить MeshCentral в качестве системного сервиса
Чтобы MeshCentral был активен постоянно и работал при этом в фоновом режиме, необходимо настроить его функционирование в качестве системного сервиса.
Во-первых, создайте системного пользователя meshcentral
, у которого не будет доступа к оболочке и который будет использоваться только для запуска службы:
$ sudo useradd -r -s /bin/false meshcentral
Чтобы MeshCentral запускался от имени созданного пользователя и имел доступ ко всем своим файлам, измените владельца каталога /opt/meshcentral
и всех его файлов и подкаталогов на пользователя и группу meshcentral
:
$ sudo chown -R meshcentral:meshcentral /opt/meshcentral
Далее откройте конфигурационный файл MeshCentral:
$ sudo nano /opt/meshcentral/meshcentral-data/config.json
В секции "settings"
укажите номер порта в строке "port"
, по которому в дальнейшем будет доступен веб-интерфейс MeshCentral, например, 8080
. Следует учитывать, что конфигурация MeshCentral игнорирует параметры, перед названием которых находится символ подчёркивания. Поэтому, чтобы указанное значение номера порта вступило в силу, удалите символ подчёркивания (_
) перед названием (port
):
"settings": {
"_cert": "myserver.mydomain.com",
"_WANonly": true,
"_LANonly": true,
"_sessionKey": "MyReallySecretPassword1",
"port": 8080,
"_aliasPort": 443,
"_redirPort": 80,
"_redirAliasPort": 80
},
Сохраните файл при помощи комбинации клавиш Ctrl O
и закройте его с использованием Ctrl X
. Затем создайте юнит-файл для новой службы:
$ sudo nano /etc/systemd/system/meshcentral.service
В данный файл скопируйте следующие строки:
[Unit]
Description=MeshCentral server
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/meshcentral
ExecStart=/usr/bin/node /opt/meshcentral/node_modules/meshcentral
Restart=always
User=meshcentral
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
Закройте файл с сохранением внесённых изменений, после чего следующей командой сообщите системному менеджеру systemd
, что конфигурационные файлы служб были изменены, и их нужно перечитать:
$ sudo systemctl daemon-reload
Затем запустите только что созданный сервис:
$ sudo systemctl start meshcentral
И установите его в автозагрузку системы:
$ sudo systemctl enable meshcentral
Чтобы убедиться в корректности функционирования сервиса, запустите команду, которая выводит на экран его текущее состояние:
$ systemctl status meshcentral
Вывод команды не должен содержать сообщений об ошибках.

Ранее в конфигурации MeshCentral мы указали порт 8080 в качестве используемого для доступа к веб-интерфейсу. Исходя их этого, необходимо добавить для данного порта разрешающее правило в брандмауэр UFW:
$ sudo ufw allow 8080
После чего откройте браузер и перейдите на https://X.X.X.X:8080
, где также вместо X.X.X.X
укажите IP-адрес или доменное имя вашей виртуальной машины. При первом подключении на стартовой странице есть возможность создать новую учётную запись. Для этого кликните ссылку под кнопкой Авторизация
.

Далее при вводе корректных учётных данных вы попадёте в панель управления MeshCentral.
