Подтвердить что ты не робот

Доступно с несколькими парами ключей SSH

Я новичок в Ansible. Я могу проверить его и его работу с моим тестовым требованием. Для установления соединения между менеджером node и клиентом node я использую уже созданную пару ключей ssh. Как я могу использовать другой node с другой парой ключей SSH? Для справки я рассматриваю 3 ec2-экземпляр с разными парами ключей.

4b9b3361

Ответ 1

Хорошая новость - в основном случае использования, это довольно легко. Просто используйте параметр ansible_ssh_private_key_file в Ansible inventory.

Вот несколько примеров, взятых из моего личного файла:

$ cat hosts.ini

[server1]
54.1.2.3 ansible_ssh_private_key_file=~/.ssh/server1.pem

[testservers]
ec2-54-2-3-4.compute-1.amazonaws.com ansible_ssh_private_key_file=~/.ssh/aws-testserver.pem ansible_ssh_user=ubuntu
ec2-54-2-3-5.compute-1.amazonaws.com ansible_ssh_private_key_file=~/.ssh/aws-testserver.pem ansible_ssh_user=ubuntu

[piwall]
10.0.0.88 ansible_ssh_private_key_file=~/.ssh/raspberrypi.pem ansible_ssh_user=pi

Ответ 2

tedder42 правильный, однако есть лучший способ сделать это.

Смотрите ansible_ssh_private_key_file здесь.

У меня в файлах хоста следующие

# SSH Keys configuration

[all_servers:vars]
ansible_ssh_private_key_file = <YOUR PRIVATE KEY LOCATION>


# Server configuration
[all_servers:children]
elastic_servers
nginx_servers

[elastic_servers]
44.22.11.22
44.55.66.77
22.11.22.33

[nginx_servers]
22.24.123.123
233.111.222.11

Если у вас есть конфигурация нескольких ключей, вы можете сделать что-то вроде следующего

[nginx:vars]
ansible_ssh_private_key_file = <YOUR PRIVATE KEY LOCATION>
[app:vars]
ansible_ssh_private_key_file = <YOUR 2nd PRIVATE KEY LOCATION>

[nginx:children]
nginx_servers

[app:children]
app_servers

[nginx_servers]
1.2.3.4
[app_servers]
5.5.5.5
6.6.6.6

Таким образом, более чистый, чем ворошилка42. Это полезно, если у вас несколько ключей для нескольких серверов.

В противном случае вы можете включить свой ключ в файл ansible.cfg.