Salt выполняет команды в удаленной системе с помощью salt-minion . Это нормальное поведение. В некоторых случаях удаленная система может быть доступна только по протоколу SSH. Для этих сценариев Salt предоставляет возможность подключиться к удаленной системе только по протоколу SSH и выполнить команду через уровень SSH.
Соль SSH очень проста в настройке. Единственная необходимая конфигурация — указать данные удаленной системы в специальном файле, который называется файлом реестра . Этот файл обычно находится в / etc / salt / roster . В реестре будет вся информация об удаленной системе и о том, как мы можем к ней подключиться. Как только файлы реестра настроены, все команды Salt выполняются с использованием salt-ssh вместо команды salt.
Реестр файлов
Система Roster разработана специально для Salt SSH. Это разработано как подключаемая система. Единственная цель системы реестров — сбор информации об удаленной системе. Файл реестра — это файл конфигурации на основе YAML, содержащий информацию об удаленной системе в качестве целей . Эти цели представляют собой специальную структуру данных с предопределенным набором атрибутов. Файл реестра содержит одну или несколько целей, и каждая цель идентифицируется идентификатором соли .
Основная структура файла реестра выглядит следующим образом:
<Salt ID>: host: <host name> user: <user name> passwd: <password of the user>
Все остальные атрибуты, поддерживаемые файлом реестра, являются необязательными. Они заключаются в следующем —
-
порт — номер порта SSH.
-
sudo — запускать ли команду через sudo.
-
sudo_user — имя пользователя sudo.
-
tty — true, если sudo включено.
-
priv — закрытый ключ.
-
timeout — тайм-аут для соединения SSH.
-
minion_opts — словарь опций миньонов .
-
thin_dir — каталог хранения целевой системы для солевых компонентов.
-
cmd_umask — umask для использования для команды salt-call.
порт — номер порта SSH.
sudo — запускать ли команду через sudo.
sudo_user — имя пользователя sudo.
tty — true, если sudo включено.
priv — закрытый ключ.
timeout — тайм-аут для соединения SSH.
minion_opts — словарь опций миньонов .
thin_dir — каталог хранения целевой системы для солевых компонентов.
cmd_umask — umask для использования для команды salt-call.
Пример файла реестра выглядит следующим образом:
web: host: 192.168.2.1 user: webuser passwd: secret sudo: True db: host: 192.168.2.2
Развертывание ключей SSH
Salt SSH сгенерирует пары открытого и закрытого ключей по умолчанию для входа в систему SSH. Путь по умолчанию будет /etc/salt/pki/master/ssh/salt-ssh.rsa. Этот ключ может быть развернут в удаленной системе с помощью команды ssh-copy-id, как показано ниже.
ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub [email protected]
Выполнить команду
Выполнить команду salt так же просто, как изменить команду salt cli на salt-ssh, как показано ниже.
salt-ssh '*' test.ping
Команда Raw Shell
Salt SSH предоставляет опцию (-r) для выполнения необработанной команды в удаленной системе, минуя солт-модуль и функции.
salt-ssh '*' -r 'ls'
Таргетинг с помощью соли SSH
Ориентация на удаленную систему в Salt SSH поддерживает только глобальные и регулярные выражения. Поскольку Salt SSH является отдельным модулем, на данный момент он предоставляет только ограниченные возможности и предоставит больше возможностей в ближайшем будущем.