Определите ключ ssh для каждого хоста, используя ansible_ssh_private_key_file |

Определите ключ ssh для каждого хоста, используя ansible_ssh_private_key_file

Мануал

Я настроил ключи SSH в Linux или Unix в соответствии с потребностями моего проекта и провайдерами облачного хостинга.

Я также новичок в Ansible IT автоматизации и DevOps инструментов.

У моего узла управления есть ключи для Linode, AWS / EC2 и Google cloud.

Как мне установить и сказать Ansible использовать разные ssh-ключи?

Как настроить учетные данные SSH для каждого поставщика услуг облачного хостинга?

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

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

Ansible использует SSH, который позволяет пользователям и ansbile войти на удаленные серверы и выполнить задачи управления.

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

Ansible определяет ключ ssh для каждого хоста, используя ansible_ssh_private_key_file

Вам нужно использовать ansible_ssh_private_key_file.

Синтаксис довольно прост:

host ansible_ssh_private_key_file=/path/to/your/.ssh/file.pub
192.168.2.200 ansible_ssh_private_key_file=/path/to/your/.ssh/id_rsa.pub
104.20.187.5 ansible_ssh_private_key_file=/path/to/your/.ssh/aws.pem

 

пример ansible_ssh_private_key_file

Давайте откроем файл с именем hosts в ~ /projects/ansible/hosts с помощью текстового редактора, такого как  vim:

$ vim ~/projects/ansible/hosts

Пример файла:

[my_servers]
1.2.3.4     ansible_ssh_private_key_file=/home/vivek/.ssh/id_ed25519.pub
202.54.1.5  ansible_ssh_private_key_file=~/.ssh/Lightsail-us-west-2.pem
www1        ansible_ssh_private_key_file=~/.ssh/Linode-us.rsa.pub
vpn-box1    ansible_ssh_private_key_file=~/.ssh/Linode-us.rsa.pub

 

Другой пример:

## Ansible with multiple SSH key pair as per server hosting ##
[linode]
www1-li ansible_ssh_private_key_file=/path/to/file
www2-li ansible_ssh_private_key_file=/path/to/file
 
[aws]
www1-aws ansible_ssh_private_key_file=/path/to/file
www2-aws ansible_ssh_private_key_file=/path/to/file
 
[google_cloud]
www1-gcp ansible_ssh_private_key_file=/path/to/file
www2-gcp ansible_ssh_private_key_file=/path/to/file

Это можно сгруппировать следующим образом:

[linode]
www1-li 
www2-li 
 
[aws]
www1-aws
www2-aws
 
[google_cloud]
www1-gcp
www2-gcp
 
[linode:vars]
ansible_ssh_user=vivek
ansible_ssh_private_key_file=/home/vivek/.ssh/linode.id_ed25519.pub
 
[aws:vars]
ansible_ssh_user=ec-2
ansible_ssh_private_key_file=/home/vivek/.ssh/aws-ec2-usa-east.pem
 
[google_cloud:vars]
ansible_ssh_user=someuser@gmail.com
ansible_ssh_private_key_file=/home/vivek/.ssh/google_compute_engine.pem
 
[freebsd]
aws_freebsd_1
aws_freebsd_2
aws_freebsd_3
 
[freebsd:vars]
ansible_python_interpreter=/usr/local/bin/python
ansible_ssh_user=vivek
ansible_ssh_private_key_file=/home/vivek/.ssh/freebsd-aws-lightsail.pem

Как проверит работу

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

$ ansible-playbook -i hosts my-book.yml –check
$ ansible freebsd -i hosts –list-hosts
$ ansible aws -i hosts –list-hosts
$ ansible google_cloud -i hosts –list-hosts

Список всех возможных настроек конфигурации SSH-соединения

  • ansible_port = 2020: номер порта ssh, если не 22
  • ansible_user = vivek: имя пользователя ssh по умолчанию для использования.
  • ansible_ssh_private_key_file =/path/to/ssh.pem: файл закрытого ключа, используемый ssh. Полезно, если используется несколько ключей, и вы не хотите использовать агент SSH.
  • ansible_python_interpreter = /usr/local/bin/python: целевой путь Python для хоста

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий