ppouliot.network_appliance_bootstrap
Rôle Ansible : network_appliance_bootstrap
Ce rôle Ansible permet d'installer des clés SSH sur des appareils réseau en utilisant une connexion SSH. Actuellement, il cible les appareils réseau basés sur Vyatta, VyOS et les appareils UBNT.
Variables du Rôle :
Les variables du rôle suivantes fonctionnent pour les appareils EdgeRouterX.
netapl_ssh_authorized_key: ~/.ssh/id_ed25519.pub
netapl_device_user_id: ubnt
ansible_network_os: edgeos
ansible_user: ubnt
ansible_pass: <VOTRE_MOT_DE_PASSE_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
Les variables du rôle suivantes fonctionnent pour les appareils UnFi USG et 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: <VOTRE_MOT_DE_PASSE_USG>
ansible_pass: <VOTRE_MOT_DE_PASSE_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
Les variables du rôle suivantes fonctionnent pour les appareils VyOS.
netapl_ssh_authorized_key: ~/.ssh/id_ed25519.pub
netapl_device_user_id: admin
ansible_network_os: vyos
ansible_user: admin
ansible_pass: <VOTRE_MOT_DE_PASSE_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
Installation :
ansible-galaxy install ppouliot.network_appliance_bootstrap
Exemple d'Inventaire :
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
Exemple de Playbook :
#!/usr/bin/env ansible-playbook
---
- name: Démarrage UniFi USG SSHKeys pour 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: Collecter des faits auprès des appareils EdgeOS
edgeos_facts:
gather_subset: all
- name: Démarrage UniFi USG SSHKeys pour 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: Collecter des faits auprès des appareils Unifi
edgeos_facts:
gather_subset: all
- name: Démarrage VyOS SSHKeys pour 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: Collecter des faits auprès des appareils VyOS
vyos_facts:
gather_subset: all
Contributeurs :
- Peter Pouliot peter@pouliot.net
Droits d'Auteur et Licences :
Copyright (C) 2018 Peter J. Pouliot
Peter Pouliot peut être contacté à : peter@pouliot.net
Distribué sous la licence Apache, Version 2.0 (la "Licence"); vous ne pouvez pas utiliser ce fichier sauf en conformité avec la Licence. Vous pouvez obtenir une copie de la Licence à l'adresse suivante :
http://www.apache.org/licenses/LICENSE-2.0
À moins d'exigences légales ou d'accords écrit, les logiciels distribués sous la Licence sont fournis "EN L'ÉTAT", SANS GARANTIES OU CONDITIONS DE QUELQUE NATURE, explicites ou implicites. Consultez la Licence pour les autorisations spécifiques et limitations de la Licence.
Ansible to bootstrap ssh on Vyatta, VyOS & UBNT USG/EdgeRouters
ansible-galaxy install ppouliot.network_appliance_bootstrap