Ansible Ssh-Copy-Id

Ansible Ssh Copy Id



Ansible — это бесплатный инструмент автоматизации с открытым исходным кодом, который упрощает управление конфигурацией и развертыванием приложений на нескольких компьютерах.

Ansible использует декларативный язык для описания желаемого состояния систем и автоматически выполняет задачи, необходимые для достижения этого состояния.

Ansible использует SSH в качестве метода подключения по умолчанию для подключения к целевой машине. SSH обеспечивает безопасный и зашифрованный канал связи между узлом управления Ansible и целевыми хостами.







Как правило, наиболее распространенным методом настройки аутентификации на основе ключей SSH для целевого хоста является команда ssh-copy-id. Команда копирует открытый ключ узла управления в файл «authorized_keys» на целевом хосте.



Однако при первой настройке системы вам может понадобиться Ansible, чтобы сделать это в сборнике сценариев. Именно здесь на помощь приходит сообщество Ansible.



В сообществе Ansible у нас есть доступ к роли ssh_id_copy, которая позволяет нам авторизовать системы для аутентификации SSH без пароля.





Эта роль управляет настройкой ключей SSH на удаленном компьютере, что позволяет нам создать файл инвентаризации Ansible на удаленном компьютере. Затем мы можем быстро вызвать любую книгу воспроизведения Ansible на удаленной машине.

Ansible Роль Ssh_Copy_Id

Роль имеет переменные, которые позволяют Ansible настраивать ключи SSH на удаленном хосте. К таким переменным относятся:



Имя хоста – Он определяет удаленную систему для подключения (полное доменное имя или IP).

Имя пользователя – Он указывает имя пользователя для подключения к удаленной системе.

Пароль – Он определяет пароль имени пользователя для подключения к удаленной системе.

ssh_public_key – Он определяет абсолютный путь к файлу открытого ключа, который необходимо настроить на удаленном хосте.

Порт – Он определяет порт SSH.

Установка роли Ssh_Copy_Id

ОСТОРОЖНОСТЬ: Мы не можем обеспечить достоверность и безопасность ролей и модулей, управляемых сообществом. Пожалуйста, проверяйте и проверяйте работу роли/модуля перед использованием его в рабочей среде и на реальных машинах. Никакая безопасность не гарантируется при работе с шагами, описанными в этом посте.

Как уже упоминалось, ssh_copy_id — это роль, предоставленная сообществом и предоставленная Райаном. Ссылка на репозиторий предоставлена ​​следующим образом:

https://github.com/ryankwilliams/ansible-ssh-copy-id

Прежде чем мы сможем его использовать, нам необходимо убедиться, что он установлен, выполнив следующую команду:

$ анзибль-галактика установить rywillia.ssh-copy-id

Пример использования

После установки мы можем использовать роль в книге воспроизведения, как показано ниже:

---
- имя
: настроить ssh-аутентификацию без пароля на удаленном компьютере
хозяева
: локальный хост
становиться
: да
роли
:
- роль
: ryankwilliams.ssh_copy_id
чей
:
имя хоста
: 172.168.112.23
имя пользователя
: убунту
пароль
: пароль
ssh_public_key
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

В предыдущем примере показано, как использовать роль для настройки аутентификации SSH без пароля — пользователя, определенного на удаленном компьютере.

Заключение

В этом вводном руководстве вы узнали, как можно воспользоваться ролями и модулями, предоставленными сообществом, для настройки SSH-аутентификации без пароля на удаленных хостах с помощью сборника сценариев Ansible.