network_appliance_bootstrap
Ansible Роль: network_appliance_bootstrap
Эта роль Ansible настраивает SSH ключи на сетевых устройствах с использованием SSH подключения. В настоящее время поддерживает сетевые устройства на базе Vyatta, VyOS и UBNT.
Переменные роли:
Следующие переменные роли работают для устройств EdgeRouterX.
netapl_ssh_authorized_key: ~/.ssh/id_ed25519.pub
netapl_device_user_id: ubnt
ansible_network_os: edgeos
ansible_user: ubnt
ansible_pass: <ВАШ_ПАРОЛЬ_EDGEROUTER>
ansible_ssh_private_key_file: /etc/ansible/keys/id_rsa
ansible_net_ssh_key_file: /etc/ansible/keys/id_rsa
ansible_python_interpreter: /usr/bin/python
Следующие переменные роли работают для устройств UnFi USG и USG4P.
netapl_ssh_authorized_key: ~/.ssh/id_ed25519.pub
netapl_device_user_id: admin
ansible_network_os: edgeos
ansible_ssh_user: admin
ansible_user: admin
ansible_ssh_pass: <ВАШ_ПАРОЛЬ_USG>
ansible_pass: <ВАШ_ПАРОЛЬ_USG>
become: yes
ansible_ssh_private_key_file: /etc/ansible/keys/id_rsa
ansible_net_ssh_key_file: /etc/ansible/keys/id_rsa
ansible_python_interpreter: /usr/bin/python
Следующие переменные роли работают для устройств VyOS.
netapl_ssh_authorized_key: ~/.ssh/id_ed25519.pub
netapl_device_user_id: admin
ansible_network_os: vyos
ansible_user: admin
ansible_pass: <ВАШ_ПАРОЛЬ_EDGEROUTER>
ansible_ssh_private_key_file: /etc/ansible/keys/id_rsa
ansible_net_ssh_key_file: /etc/ansible/keys/id_rsa
ansible_python_interpreter: /usr/bin/python
Установка:
ansible-galaxy install ppouliot.network_appliance_bootstrap
Пример Инвентаря:
localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python"
[usg]
usg4p.pouliot.net
[usg-by-ip]
192.168.1.1
[edgerouterx]
erx.pouliot.net
[edgerouterx-by-ip]
192.168.1.2
[vyos]
vyos.pouliot.net
[vyos-by-ip]
192.168.1.3
[cloudkey]
Unifi-Cloudkey.pouliot.net
[cloudkey-by-ip]
192.168.1.3
[ssh_connection]
pipelining=True
Пример Плейбука
#!/usr/bin/env ansible-playbook
---
- name: Начальная настройка SSH-ключей для UniFi USG с Ansible
hosts: edgerouterx-by-ip
connection: ssh
become: yes
become_user: root
gather_facts: yes
tasks:
- debug: var=ansible_connection
roles:
- ppouliot.network_appliance_bootstrap
- hosts: edgerouterx
connection: network_cli
gather_facts: false
tasks:
- name: Сбор информации об устройствах EdgeOS
edgeos_facts:
gather_subset: all
- name: Начальная настройка SSH-ключей для UniFi USG с Ansible
hosts: usg-by-ip
connection: ssh
become: yes
become_user: root
gather_facts: false
tasks:
- debug: var=ansible_connection
roles:
- ppouliot.network_appliance_bootstrap
- hosts: usg
connection: network_cli
gather_facts: false
tasks:
- name: Сбор информации об устройствах Unifi
edgeos_facts:
gather_subset: all
- name: Начальная настройка SSH-ключей для VyOS с Ansible
hosts: vyos-by-ip
connection: ssh
become: yes
become_user: root
gather_facts: false
tasks:
- debug: var=ansible_connection
roles:
- ppouliot.network_appliance_bootstrap
- hosts: vyos
connection: network_cli
gather_facts: false
tasks:
- name: Сбор информации об устройствах VyOS
vyos_facts:
gather_subset: all
Участники:
- Питер Пулиот peter@pouliot.net
Авторские права и Лицензия:
Авторские права (C) 2018 Питер Дж. Пулиот
Связаться с Питером Пулиотом можно по адресу: peter@pouliot.net
Лицензировано по лицензии Apache, версия 2.0 (далее - "Лицензия"); вы не можете использовать этот файл, за исключением случаев, когда это разрешено Лицензией. Вы можете получить копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
Если иное не предусмотрено действующим законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях "КАК ЕСТЬ", БЕЗ ГАРАНТИЙ И УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. См. Лицензию для получения конкретных прав и ограничений, связанных с лицензией.
Ansible to bootstrap ssh on Vyatta, VyOS & UBNT USG/EdgeRouters
ansible-galaxy install ppouliot/ansible-role-network_appliance_bootstrap