Установка клиента Salt.Box
В дистрибутиве Salt.Box версии 0.0.1 используются компоненты SaltStack 3006.9 LTS.
Данный релиз SaltStack имеет долгосрочную поддержку.
Это означает, что релиз будет поддерживаться в течение более длительного времени, чем обычные версии.
Подразумевается, что в течение этого периода будут выходить обновления, включающие исправления безопасности и критические исправления ошибок, но не новые функции, которые могут нарушить совместимость.
Для обеспечения полной совместимости клиента Salt Minion используйте на управляемых устройствах клиент той же версии — 3006.9 LTS.
Установка в ОС Linux
Установка пакета RPM
-
Для установки репозитория Salt Project выполните следующую команду:
curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.repo | sudo tee /etc/yum.repos.d/salt.repoпримечаниеИз-за наличия в EPEL классических пакетов Salt возможна загрузка классических пакетов старых версий Salt вместо пакетов onedir.
Во время разрешения зависимостей при выборе лучшего поставщика среди нескольких dnf учитывает приоритет репозитория каждого поставщика.
Значение представляет собой целое число от 1 до 99, где 1 — наиболее предпочтительный репозиторий, а 99 — наименее предпочтительный.
По умолчанию все репозитории имеют приоритет 80.EPEL рассматривал репозиторий Salt как 99. Чтобы решить эту проблему, Salt изменил свой уровень приоритета на 10 для RHEL 8 и 9.
-
Чтобы очистить метаданные репозитория, выполните:
sudo dnf clean expire-cache -
Установка пакета salt-minion:
предупреждениеSTS-релизы не рекомендуются для продуктивной среды.
Salt Project рекомендует развёртывать LTS-релизы в продуктивной среде.- 3006 LTS
- 3007 STS
- LATEST Available
Установите пакет:
sudo dnf install salt-minionЕсли вы хотите установить конкретный релиз salt-minion, укажите суффикс полной версии релиза Salt.
Например:sudo dnf install salt-minion-3006.9Для закрепления версии пакета, когда необходимо исключить его обновление при выполнении
dnf upgrade, может быть использована командаdnf versionlock.sudo dnf install 'dnf-command(versionlock)'sudo dnf versionlock add salt-minionДля установки релиза Salt 3007 STS необходимо разрешить его загрузку:
# Включить репозиторий Salt 3007 STS
sudo dnf config-manager --set-disable salt-repo-*
sudo dnf config-manager --set-enabled salt-repo-3007-stsУстановите пакет:
sudo dnf install salt-minionЕсли вы хотите установить конкретный релиз salt-minion, укажите суффикс полной версии релиза Salt.
Например:sudo dnf install salt-minion-3007.5Для закрепления версии пакета, когда необходимо исключить его обновление при выполнении
dnf upgrade, может быть использована командаdnf versionlock.sudo dnf install 'dnf-command(versionlock)'sudo dnf versionlock add salt-minionДля установки релиза LTS или STS, в зависимости от того, какой из них является актуальным, необходимо разрешить загрузку из репозитория с суффиксом 'latest':
# Включить репозиторий Salt LATEST
sudo dnf config-manager --set-disable salt-repo-*
sudo dnf config-manager --set-enabled salt-repo-latestУстановите пакет:
sudo dnf install salt-minionЕсли вы хотите установить конкретный релиз salt-minion, укажите суффикс полной версии релиза Salt.
Например:sudo dnf install salt-minion-3007.5Для закрепления версии пакета, когда необходимо исключить его обновление при выполнении
dnf upgrade, может быть использована командаdnf versionlock.sudo dnf install 'dnf-command(versionlock)'sudo dnf versionlock add salt-minion -
Включите и запустите службу
salt-minion:sudo systemctl enable salt-minion && sudo systemctl start salt-minionпримечаниеПри установке версии Salt onedir (3006 и более поздние) Salt устанавливает собственную локальную версию Python и зависимости, необходимые для основных функций Salt.
После установки версии Salt onedir в Вашей системе будет присутствовать как глобальная версия Python на системном уровне, так и локальная версия Python, используемая Salt.
Это изменение означает, что пути Salt onedir для Python отличаются, и Вам необходимо изменить способ установки сторонних зависимостей Python, которые Вы используете с Salt, включая ваши файлы состояния.
Для получения дополнительной информации см. Установка зависимостей.
Установка пакета DEB
-
Для установки репозитория Salt Project выполните следующие команды:
# Убедиться, что каталог keyrings существует
mkdir -p /etc/apt/keyrings
# Загрузить открытый ключ
curl -fsSL https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public | sudo tee /etc/apt/keyrings/salt-archive-keyring.pgp
# Создать целевую конфигурацию репозитория
curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.sources | sudo tee /etc/apt/sources.list.d/salt.sources -
Для обновления метаданных выполните:
sudo apt update -
Установка пакета salt-minion:
предупреждениеSTS-релизы не рекомендуются для продуктивной среды.
Salt Project рекомендует развёртывать LTS-релизы в продуктивной среде.- 3006 LTS
- 3007 STS
- LATEST Available
Чтобы ограничить обновления мажорной версией Salt 3006 LTS, создайте файл
/etc/apt/preferences.d/salt-pin-1001с помощью следующей команды:echo 'Package: salt-*
Pin: version 3006.*
Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/salt-pin-1001Установите пакет:
sudo apt-get install salt-minionЕсли вы хотите установить конкретную версию salt-minion, укажите суффикс полной версии релиза Salt.
Например:sudo apt-get install salt-minion=3006.9предупреждениеКонфликты зависимостей Salt
Если Вы используете не последний релиз целевой мажорной версии, Вам может потребоваться установить другие пакеты salt в закрепленном виде.
Например, чтобы установить salt-minion, потребуется установить salt-common той же версии:sudo apt-get install salt-minion=3006.9 salt-common=3006.9Чтобы ограничить обновления мажорной версией Salt 3007 STS, создайте файл
/etc/apt/preferences.d/salt-pin-1001с помощью следующей команды:echo 'Package: salt-*
Pin: version 3007.*
Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/salt-pin-1001Установите пакет:
sudo apt-get install salt-minionЕсли вы хотите установить конкретную версию salt-minion, укажите суффикс полной версии релиза Salt.
Например:sudo apt-get install salt-minion=3007.5# Пример команды для закрепления текущего второстепенного пакета,
# чтобы он пропускался во время общесистемного обновления apt-get
sudo apt-mark hold salt-minionпредупреждениеКонфликты зависимостей Salt
Если Вы используете не последний релиз целевой мажорной версии, Вам может потребоваться установить другие пакеты salt в закрепленном виде.
Например, чтобы установить salt-minion, потребуется установить salt-common той же версии:sudo apt-get install salt-minion=3007.5 salt-common=3007.5Установка релиза LTS или STS, в зависимости от того, какой из них является актуальным.
Установите пакет:
sudo apt-get install salt-minionЕсли вы хотите установить конкретную версию salt-minion, укажите суффикс полной версии релиза Salt.
Например:sudo apt-get install salt-minion=3007.5# Пример команды для закрепления текущего второстепенного пакета,
# чтобы он пропускался во время общесистемного обновления apt-get
sudo apt-mark hold salt-minionпредупреждениеЕсли Вы используете не последний релиз целевой мажорной версии, Вам может потребоваться установить другие пакеты salt в закрепленном виде.
Например, чтобы установить salt-minion, потребуется установить salt-common той же версии:sudo apt-get install salt-minion=3007.5 salt-common=3007.5 -
Включите и запустите службу
salt-minion:sudo systemctl enable salt-minion && sudo systemctl start salt-minionпримечаниеПри установке версии Salt onedir (3006 и более поздние) Salt устанавливает собственную локальную версию Python и зависимости, необходимые для основных функций Salt.
После установки версии Salt onedir в Вашей системе будет присутствовать как глобальная версия Python на системном уровне, так и локальная версия Python, используемая Salt.
Это изменение означает, что пути Salt onedir для Python отличаются, и Вам необходимо изменить способ установки сторонних зависимостей Python, которые Вы используете с Salt, включая ваши файлы состояния.
Для получения дополнительной информации см. Установка зависимостей.
Установка на Альт 10.4, 11.0:
В ОС Альт 10.4 и ОС Альт 11.0 для обеспечения совместимости с компонентами SaltStack Master следует установить пакет salt-minion версии 3007.1.
В настоящее время в актуальных репозиториях платформ p10 и p11 размещены пакеты версии 3007.5; пакеты salt-minion версии 3007.1 и их зависимости доступны в архивах.
-
Загрузите и установите пакет
salt-minionверсии3007.1и его зависимости.Для ОС Альт 10.4:
wget https://ftp.altlinux.org/pub/distributions/archive/p10/date/2025/07/06/files/noarch/RPMS/salt-minion-3007.1-alt1.p10.1.noarch.rpm \
https://ftp.altlinux.org/pub/distributions/archive/p10/date/2025/07/06/files/noarch/RPMS/python3-module-salt-3007.1-alt1.p10.1.noarch.rpm
sudo rpm -Uvh --oldpackage ./salt-minion-3007.1-alt1.p10.1.noarch.rpm ./python3-module-salt-3007.1-alt1.p10.1.noarch.rpmили для ОС Альт 11.0:
wget https://ftp.altlinux.org/pub/distributions/archive/p11/date/2025/06/18/files/noarch/RPMS/salt-minion-3007.1-alt2.noarch.rpm \
https://ftp.altlinux.org/pub/distributions/archive/p11/date/2025/06/18/files/noarch/RPMS/python3-module-salt-3007.1-alt2.noarch.rpm
sudo rpm -Uvh --oldpackage ./salt-minion-3007.1-alt2.noarch.rpm ./python3-module-salt-3007.1-alt2.noarch.rpm -
Включите и запустите службу
salt-minion:sudo systemctl enable salt-minion && sudo systemctl start salt-minion
Установка на Astra Linux 1.7.7, 1.8.2:
В операционных системах указанных версий будет установлен пакет salt-minion версии 3006.9 из официального репозитория.
sudo apt-get update
sudo apt-get install salt-minion
Настройка
После установки salt-minion необходимо настроить его для связи с Master-сервером.
Для этого в файле /etc/salt/minion укажитеь адрес или имя хоста Salt Master:
master: <IP_ADDRESS> | <HOST>
После изменения файла конфигурации перезапустите службу salt-minion:
sudo systemctl restart salt-minion
Установка в ОС Windows
Интерактивная установка
-
Загрузите файл установки клиента Salt Minion, соответствующий разрядности Вашей ОС,с сайта проекта Salt Project.
-
Для установки клиента
Salt.Boxв интерактивном режиме запустите файл установки без указания параметров запуска. -
Нажмите
Next >в стартовом окне инсталлятора Рис. 2.
Рисунок 2. Стартовое окно инсталлятора службы salt-minion
-
Нажмите
I Agreeв окне лицензионного соглашения Рис. 3.
Рисунок 3. Окно лицензионного соглашения
-
Укажите путь к папке инсталляции клиента Рис. 4.
Рисунок 4. Окно выбора папки назначения
-
В окне установки параметров службы
salt-minionв первом поле укажите выделенный IP-адрес сервера.
ПараметрыMinion Name: hostnameиDefault configоставьте без изменений Рис. 5.
НажмитеInstallи дождитесь окончания установки клиента.
Рисунок 5. Окно установки параметров службы salt-minion
-
Нажмите
Finishв окне завершения установки Рис. 6.
Рисунок 6. Окно завершения установки
Установка с помощью групповых политик Microsoft Active Directory
-
В меню
Пусквыберите пунктAdministrative Tools -> Group Policy Management, либо выберите пунктВыполнитьРис. 7.
Рисунок 7. Запуск оснастки управления групповой политикой -
В дереве объектов домена кликните правой кнопкой мыши на узле
Объекты групповой политики, выберите пунктСоздатьРис. 8.
Рисунок 8. Создание объекта групповой политики
-
В диалоговом окне введите наименование нового объекта групповой политики и нажмите
ОК.
В данном примере объект групповой политики называется "Установка клиента" Рис. 9.
Рисунок 9. Ввод наименования нового объекта групповой политики
-
В дереве объектов домена кликните правой кнопкой мыши на нужном организационном подразделении (OU) (в данном примере — "Тестовое подразделение"), выберите пункт
Связать существующий объект групповой политикиРис. 10.
Рисунок 10. Создание связи Organizational Unit с объектом групповой политики
-
В окне выбора объекта групповой политики выберите объект "Установка клиента".
Рисунок 11. Выбор объекта групповой политики
-
В списке объектов групповой политики домена кликните правой кнопкой мыши на объекте "Установка клиента", выберите пункт
ИзменитьРис. 12.
Рисунок 12. Изменение объекта групповой политики
-
В открывшемся окне редактора управления групповыми политиками в узле
Конфигурация компьютера -> Конфигурация "Windowsвыберите пунктСценарииРис. 13. -
В окне со списком сценариев кликните правой кнопкой мыши на сценарии "Автозагрузка", выберите пункт
СвойстваРис. 13.
Рисунок 13. Изменение свойств сценария автозагрузки
-
В открывшемся окне свойств сценария автозагрузки на вкладке
Сценариинажмите кнопкуПоказать файлыРис. 14.
Рисунок 14. Свойства сценария автозагрузки
-
В папку сценария автозагрузки, открывшуюся в проводнике Windows, скопируйте файл
install.batи.exe-файлы инсталляторов для ОС Windows 32- и 64-разрядной архитектуры Рис. 15.
Рисунок 15. Копирование файлов в папку сценария автозагрузки
-
Закройте проводник и нажмите кнопку
Добавитьна вкладкеСценарииокна свойств сценария автозагрузки Рис. 14. -
Укажите имя
install.batи значение параметра — выделенный IP-адрес сервера — и нажмитеОКРис. 16.
Рисунок 16. Ввод параметров сценария автозагрузки
Переподключение миньона к другому Master-серверу
Если миньон был успешно подключён и управлялся каким-либо Master-сервером, после чего в конфигурации миньона был изменён адрес или сетевое имя Master-сервера, либо Master-сервер был удалён и развёрнут повторно (с сохранением его IP-адреса или сетевого имени), миньон не сможет аутентифицироваться на новом Master-сервере, т. к. сохранённый на миньоне публичный ключ Master-сервера и публичный ключ нового Master-сервера будут отличаться.
В примере, приведённом ниже, показан вывод Windows-миньона в случае ошибки аутентификации.
2025-07-30 12:55:02,495 [salt.crypt :1285][ERROR ][5384] The master key has changed, the salt master could have been subverted, verify salt master's public key
2025-07-30 12:55:02,510 [salt.crypt :903 ][CRITICAL][5384] The Salt Master server's public key did not authenticate!
The master may need to be updated if it is a version of Salt lower than 3006.10, or
If you are confident that you are connecting to a valid Salt Master, then remove the master public key and restart the Salt Minion.
The master public key can be found at:
C:\ProgramData\Salt Project\Salt\conf\pki\minion\minion_master.pub
Для решения проблемы выполните следующие действия:
На Windows-миньоне:- Остановите службу
salt-minion:net stop salt-minion - Удалите файл с публичным ключом Master-сервера:
del C:\ProgramData\SaltProject\conf\pki\minion_master.pub - Запустите службу
salt-minion:net start salt-minion
- Остановите службу
salt-minion:sudo systemctl stop salt-minion - Удалите файл с публичным ключом Master-сервера:
rm -v /etc/salt/pki/minion/minion_master.pub - Запустите службу
salt-minion:sudo systemctl start salt-minion
Убедитесь, что миньон теперь может выполнять команды от мастера.
Это можно сделать, выполнив команду вида salt-call test.version.
Подробное описание процедуры взаимной аутентификации сервера и миньона смотрите в разделе:
Безопасность / Шифрование клиент-серверных соединений.