2017-07-01 1 views
2

J'ai un inventaire avec environ 10 hôtes et mon playbook fonctionne sur tous sauf 2. Je peux me connecter à ces 2 hôtes sans mot de passe depuis Ansible Server. Mais quand je lance le livre de jeux ou même un simple module de ping j'obtiens l'erreur:Echec d'authentification ou d'autorisation pour certains hôtes dans l'inventaire

192.168.x.xxx | UNREACHABLE! => { 
"changed": false, 
"msg": "Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the remote directory. Consider changing the remote temp path in ansible.cfg to a path rooted in \"/tmp\". Failed command was: (umask 77 && mkdir -p \"` echo $HOME/.ansible/tmp/ansible-tmp-1498895076.45-202255130489130 `\" && echo ansible-tmp-1498895076.45-202255130489130=\"` echo $HOME/.ansible/tmp/ansible-tmp-1498895076.45-202255130489130 `\"), exited with result 1", 
"unreachable": true 
} 

J'ai déjà essayé de changer l'un nsible.cfg pour remote_dir, comme le suggère https://github.com/ansible/ansible/issues/5725

type de connexion a changé la sortie en mode verbose est :

Using /etc/ansible/ansible.cfg as config file 
Loading callback plugin minimal of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc 
Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/system/ping.py 
<192.168.x.xxx> ESTABLISH SSH CONNECTION FOR USER: None 
Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/system/ping.py 
<192.168.x.xxx> SSH: ansible.cfg set ssh_args: (-C)(-o)(ControlMaster=auto)(-o)(ControlPersist=60s) 
<192.168.x.xxx> SSH: ansible_password/ansible_ssh_pass not set: (-o)(KbdInteractiveAuthentication=no)(-o)(PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey)(-o)(PasswordAuthentication=no) 
<192.168.x.xxx> SSH: ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10) 
<192.168.x.xxx> SSH: PlayContext set ssh_common_args:() 
<192.168.x.xxx> SSH: PlayContext set ssh_extra_args:() 
<192.168.x.xxx> SSH: found only ControlPersist; added ControlPath: (-o)(ControlPath=/home/webtech/.ansible/cp/ansible-ssh-%h-%p-%r) 
<192.168.x.xxx> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/webtech/.ansible/cp/ansible-ssh-%h-%p-%r 192.168.x.xxx '/bin/sh -c '"'"'(umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1498903623.28-136703981609211 `" && echo ansible-tmp-1498903623.28-136703981609211="` echo $HOME/.ansible/tmp/ansible-tmp-1498903623.28-136703981609211 `") && sleep 0'"'"'' 

Rien n'a aidé. S'il vous plaît aidez-moi, comment puis-je exécuter mon playbook dans ces 2 hôtes?

+0

J'ai aussi parlé d'autres sujets stackoverflow, mais pas de solution fonctionne pour moi – Niceha

+1

Il est impossible pour quiconque de vous aider, compte tenu des informations que vous avez fournies . Si un hôte décline la connexion avec un échec d'autorisation, cela signifie simplement que vous n'avez aucune autorisation pour y accéder et qu'il y a une erreur de configuration SSH (ce n'est pas un sujet pour StackOverflow, btw). Au moins s'il vous plaît fournir les informations vitales lors de l'exécution avec '-vvvv'. – techraf

+0

@Niceha, à partir de la sortie du mode verbeux, vous devriez être en mesure de reproduire le problème avec SSH seulement, sans Ansible. Cela devrait le réduire. – Tony

Répondre

0

ansible <> ajouter -s à la fin de l'exécuter en tant qu'utilisateur sudo

+0

Le problème n'est pas lié à l'utilisateur, mais à tous les autres hôtes qui utilisent la même image d'initialisation du système d'exploitation. Alors, y a-t-il autre chose qui peut aider? – Niceha