Linux#
Для подключения к целевому узлу под управлением операционной системы Linux рекомендуется использовать протокол SSH. Для этого на узле должен быть установлен серверный пакет OpenSSH. Если этого компонента нет или он не настроен, воспользуйтесь соответствующей инструкцией в зависимости от клона Linux:
Примечание
ВМ, созданные из образов Astra Linux UBI, уже включают в себя серверный пакет OpenSSH и сервер OpenSSH уже активирован в них.
SSH позволяет авторизоваться на узле различными способами, но чаще всего используются следующие два:
пароль;
ключи шифрования (далее – ключи).
Рекомендуемым способом авторизации является использование ключей. Для этого необходимо создать пару ключей – приватный и публичный. Приватный ключ необходимо оставить на управляющем узле, а публичный разместить на управляемых узлах.
Приведенные далее инструкции описывают процесс настройки для Astra Linux Special Edition, но большинство шагов можно использовать и для других операционных систем.
Генерация ключей#
Для создания пары ключей выполните следующие действия (обычно на управляющем узле):
Перейдите в каталог
~/.ssh/:cd ~/.ssh/
Выполните команду:
ssh-keygen -C "<comment>" -f ./<filename> -N "<password>"
где:
<comment> – комментарий к ключу.
<filename> – название файла для сохранения приватного ключа. Публичный ключ хранится в файле с тем же названием, к которому добавляется расширение
.pub.<password> – пароль для защиты приватного ключа. Если в качестве пароля используется пустая строка
"", приватный ключ создается без защиты.
Подробности о команде
ssh-keygenдоступны во встроенной справке:man ssh-keygenПример
Для создания пары ключей можно использовать следующую команду:
ssh-keygen -C "Astra Automation" -f ~/.ssh/astra-automation
Утилита
ssh-keygenзапросит пароль для защиты приватного ключа, после чего создаст в каталоге~/.ssh/два файла:astra-automation– приватный ключ;astra-automation.pub– публичный ключ.
Установите на приватный ключ права доступа
600:chmod 600 ./<filename>
где <filename> – название файла, в котором сохранен приватный ключ.
Примечание
Права доступа
600означают, что только пользователь-владелец файла имеет права на чтение и запись.
Настройка целевого узла#
Чтобы разрешить подключение к узлу по SSH с использованием ключей, выполните следующие действия:
Установите пакет сервера OpenSSH, если он не установлен:
sudo apt update && sudo apt-install openssh-server --yes
Включите автоматический запуск сервера OpenSSH при загрузке системы (если не настроено):
sudo systemctl enable ssh.service
В каталоге
/etc/ssh/sshd_config.d/создайте файлssh_auth_keysсо следующим содержимым:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
Перезапустите сервер OpenSSH:
sudo systemctl restart ssh
Выберите учетную запись, которую будете использовать для авторизации по протоколу SSH при выполнении сценариев автоматизации. В домашнем каталоге этой учетной записи создайте подкаталог
.ssh/, а в нем – файлauthorized_keys. Владельцем домашнего каталога и всех файлов внутри него должна быть выбранная учетная запись.Установите на файл
~/.ssh/authorized_keysправа доступа600:chmod 600 ~/.ssh/authorized_keys
Добавьте в файл
~/.ssh/authorized_keysсодержимое соответствующего публичного ключа, например (часть содержимого ключа опущена с целью сокращения):Совет
Если узел разрешает подключение с использованием протокола SSH с авторизацией по паролю, публичную часть ключей можно разместить с помощью утилиты
ssh-copy-id:ssh-copy-id -i <filename> <user>@<host>
где:
<filename> – путь к файлу публичного ключа;
<user> – название учетной записи пользователя узла;
<host> – IP-адрес или FQDN узла.