ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как передать имя пользователя и пароль в Ansible?

Начало работы с Ansible

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

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

Однако в некоторых случаях вы, возможно, не настроили ключи SSH на удаленном хосте, и поэтому вам нужно явно указать имя пользователя и пароль.

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

 

Установка Ansible

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

В моем примере мы покажем, как установить его на REHL/CentOS и Fedora, и в этом случае все, что мне нужно сделать, это использовать команду:

$ sudo dnf install ansible

Эта команда установит ansible на ваш компьютер, предоставив вам все инструменты для управления всеми вашими удаленными машинами из одного места. Следующим шагом является настройка файла хоста.

 

Настройка инвентаризации хостов Ansible

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

Чтобы добавить или удалить хосты, отредактируйте файл, расположенный в /etc/ansible/hosts.

$ sudo vim /etc/ansible/hosts

 

Внутри файла hosts добавьте записи как:

[myservers]

192.168.0.20

192.168.0.13

Вышеупомянутое определяет группу, называемую myservers, и соответствующие им IP-адреса. Обязательно замените указанные выше IP-адреса на IP-адреса ваших хостов.

 

Тестовое соединение

После настройки файла инвентаря лучше всего проверить, подключены ли ваши хосты к сети и могут ли они получать команды от ansible. Мы делаем это, вызывая модуль Ansible ping . На вашем доступном локальном узле используйте команду, показанную ниже:

$ ansible all -m ping -u ubuntu --ask-pass

Это будет использовать имя пользователя ubuntu и запрашивать пароль SSH. Не стесняйтесь менять имя пользователя на любого желаемого пользователя на удаленном компьютере. Если удаленный хост включен и вы указали правильный пароль SSH, вы должны увидеть ответ в следующем виде:

192.168.0.7 | SUCCESS => {

"ansible_facts": {

"discovered_interpreter_python": "/usr/bin/python3"

},

"changed": false,

"ping": "pong"

}

Краткое резюме

Как вы можете видеть из приведенного выше примера, в ansible, чтобы указать имя пользователя и пароль, которые будут использоваться для ваших удаленных хостов, мы используем -u [имя пользователя] и –ask-pass в качестве пароля.

Например, чтобы использовать учетную запись root в качестве доступного входа в систему, используйте команду как:

$ ansible all -m ping -u root --ask-pass

 

Заключение

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

Exit mobile version