This is an old revision of the document!
gerer du materiel reseau via ansible, exemple avec cisco
pour se connecter sur une equipement reseau sans avoir a saisir de mot de passe afin de favoriser l'automatisation il faut auprealable echanger les clés ssh , puis on fera usage de ansible via ssh pour lancer des commandes .
generer une paire de clée ssh sur la station de commande linux (master node)
[ansnet@ansmnode ~]$ ssh-keygen -b 4096 -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/ansnet/.ssh/id_rsa): /home/ansnet/.ssh/id_rsa_ansiblenet46 Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ansnet/.ssh/id_rsa_ansiblenet46. Your public key has been saved in /home/ansnet/.ssh/id_rsa_ansiblenet46.pub.
formater la clée dans un format compatible avec le copier/coller vers la cli cisco
[ansnet@ansmnode .ssh]$ fold -b -w 72 id_rsa_ansiblenet46.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+NTIY3H4/yfQymt1kKfgNzEkfSKNkx8U4 Fxn65ZNmt5cx61MEXYK6Ok8HkRWCRAh6DCm/NzDzPLPqMZCj5VeMkIk1RMccafdCVxKfBnPd .... 8gjWECltaV10HCSKeUgZ2S9rT8KIUGlvMhp5Mg1jmRMIgOK+/iJOdMaKylx3zklR8lcJYzTt UQ== ansnet@ansmnode.domain.fr
association de la clée privée avec le routeur cisco
[ansnet@ansmnode .ssh]$ cat config host routeur HostName routeur IdentityFile ~/.ssh/id_rsa_ansiblenet46 User ansiblenet
avec une definition de l'adresse IP dans le fichier host
[ansnet@ansmnode .ssh]$ cat /etc/hosts | grep routeur 192.168.1.7 routeur
pour realiser nos commandes cisco depuis ansible, on créé un compte de privileges aproprié (ici 10)
routeur(config)#username ansnetco privilege 10 password 0 secretpass
puis on associe la clée publique formattée ci-dessous sous linux par simple copier/coller
routeur(config)#ip ssh pubkey-chain routeur(conf-ssh-pubkey)#username ansnetco routeur(conf-ssh-pubkey-user)#key-string routeur(conf-ssh-pubkey-data)#ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+NTIY3H4/yfQymt1kKfgNzEkfSKNkx8U4 routeur(conf-ssh-pubkey-data)#Fxn65ZNmt5cx61MEXYK6Ok8HkRWCRAh6DCm/NzDzPLPqMZCj5VeMkIk1RMccafdCVxKfBnPd routeur(conf-ssh-pubkey-data)#8gjWECltaV10HCSKeUgZ2S9rT8KIUGlvMhp5Mg1jmRMIgOK+/iJOdMaKylx3zklR8lcJYzTt routeur(conf-ssh-pubkey-data)#UQ== ansnet@ansmnode.domain.fr routeur(conf-ssh-pubkey-data)#exit routeur(conf-ssh-pubkey-user)#exit routeur(conf-ssh-pubkey)#exit