La connexion partagée au serveur a échoué (en essayant d’exécuter un playbook Ansible)

Je suis tout à fait nouveau sur les serveurs SSH et Ansible, donc cela pourrait être une question stupide.

J’ai essayé d’exécuter un playbook Ansible en accédant au serveur avec une clé privée en utilisant la commande bash ci-dessous.

ansible-playbook dbserv.yml -i hosts --limit local-servers --private-key=(where I put the private key) 

Cependant, je reçois cette erreur:

fatal: [xxx]: FAILED! => {“change”: false, “failed”: true, “invocation”: {“nom_module”: “setup”}, “module_stderr”: “Connexion partagée à xxx fermé. \ r \ n”, “module_stdout”: “/ bin / sh: 1: /usr/bin/python2.7: introuvable \ r \ n”, “msg”: “ÉCHEC DU MODULE”}

J’ai installé Python sur mon ordinateur et je ne comprends pas pourquoi je reçois cette erreur.

Environnement OS: Ubuntu 16.04.1

Le message d’erreur que vous obtenez est le suivant:

/usr/bin/python2.7: introuvable

Ansible exige que Python soit installé sur la machine cible pour fonctionner correctement (voir Configuration requirejse des noeuds gérés ).

La raison la plus probable est que votre cible est Ubuntu 16.04, qui n’est pas fourni avec Python 2. Dans ce cas, vous devez l’installer ou essayer le support expérimental de Python 3 .

Si Python 2.7 est installé dans un répertoire différent, vous pouvez append une variable hôte, par exemple dans votre fichier d’inventaire (en supposant que le nom d’hôte soit xxx comme dans votre question):

 xxx ansible_python_interpreter=/path/to/python2.7 

Pour exécuter des modules avec Python 3 ( expérimental ), définissez:

 xxx ansible_python_interpreter=/usr/bin/python3 

Remarque: Ansible par défaut recherche /usr/bin/python , il est donc probable que votre playbook, fichier d’inventaire ou ansible.cfg contiennent déjà des parameters pour /usr/bin/python2.7 qui n’existent pas sur la machine cible.