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 playbook срещу отдалечената машина.

Ansible Ssh_Copy_Id роля

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



Име на хост – Определя отдалечената система, към която да се свържете (FQDN или IP).

Потребителско име – Указва потребителското име за свързване към отдалечената система.

Парола – Определя паролата на потребителското име за свързване към отдалечената система.

ssh_публичен_ключ – Дефинира абсолютния път до файла с публичен ключ за конфигуриране на отдалечения хост.

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

Инсталиране на ролята Ssh_Copy_Id

ВНИМАНИЕ: Ние не можем да осигурим валидността и сигурността на ръководени от общността роли и модули. Моля, одитирайте и проверете функционирането на роля/модул, преди да го използвате в производство и на реални машини. Не е гарантирана сигурност при работа със стъпките, описани в тази публикация.

Както споменахме, ssh_copy_id е предоставена от общността роля, предоставена от Ryan. Връзката към хранилището е предоставена, както следва:

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

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

$ анзибъл-галактика Инсталирай rywillia.ssh-copy-id

Примерна употреба

Веднъж инсталирана, можем да използваме ролята в книга за игри, както е показано в следното:

---
- име
: конфигурирайте ssh удостоверяване без парола на отдалечена машина
домакини
: локален хост
да стане
: да
роли
:
- роля
: ryankwilliams.ssh_copy_id
чийто
:
име на хост
: 172.168.112.23
потребителско име
: ubuntu
парола
: парола
ssh_публичен_ключ
: /home/debian12/.ssh/id_rsa.pub
ssh_порт
: 22

Предишният примерен наръчник демонстрира как да използвате ролята за настройка на SSH удостоверяване без парола, потребител, който е дефиниран в отдалечената машина.

Заключение

В този въвеждащ урок научихте как можете да се възползвате от осигурените от общността роли и модули, за да конфигурирате SSH удостоверяване без парола на отдалечени хостове с помощта на Ansible playbook.