Ansible: Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique, mot de passe)

Créé le 20 déc. 2016  ·  70Commentaires  ·  Source: ansible/ansible

192.168.1.113 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n", 
    "unreachable": true
}

J'ai cette erreur, j'utilise Debian Stretch et un manjaro invité dans virtualbox.

affects_2.3

Commentaire le plus utile

Bon,
C'est un peu difficile à déboguer lorsque vous spécifiez all dans votre commande.

Commentez toutes les lignes de votre fichier hosts ajoutez cette ligne

[webserver]
35.165.79.66 ansible_user=ubuntu 

et essaie de lancer :

$: ansible webserver -m ping -vvv

Et montre moi le rendu.
Salutations

Tous les 70 commentaires

Face au même problème. Suivant.

Pouvez-vous lancer la même commande avec l'option -vvvv pour plus de sortie. s'il te plaît !

guru@tj-lp140:/etc/ansible$ ansible all -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/core/system/ping.py
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: None
<35.165.79.66> SSH: EXEC ssh -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/guru/.ansible/cp/ansible-ssh-%h-%p-%r 35.165.79.66 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /tmp/ansible-tmp-1482309322.49-151682117578429 `" && echo ansible-tmp-1482309322.49-151682117578429="` echo /tmp/ansible-tmp-1482309322.49-151682117578429 `" ) && sleep 0'"'"'' 

Merci.
D'après votre sortie, je vois que vous n'avez spécifié aucun ansible_user :

<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: None

Chat tu montres aussi le contenu de ton fichier d'inventaire ?

# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Groups of hosts are delimited by [header] elements
#   - You can enter hostnames or ip addresses
#   - A hostname/ip can be a member of multiple groups

# Ex 1: Ungrouped hosts, specify before any group headers.

## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10

# Ex 2: A collection of hosts belonging to the 'webservers' group

[webservers]
35.165.79.66

# If you have multiple hosts following a pattern you can specify
# them like this:

## www[001:006].example.com

# Ex 3: A collection of database servers in the 'dbservers' group

## [dbservers]
## 
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57

# Here's another example of host ranges, this time there are no
# leading 0s:

## db-[99:101]-node.example.com

la connexion ssh [email protected] s'établira. mais la commande ansible ne peut pas se terminer.

Bon,
C'est un peu difficile à déboguer lorsque vous spécifiez all dans votre commande.

Commentez toutes les lignes de votre fichier hosts ajoutez cette ligne

[webserver]
35.165.79.66 ansible_user=ubuntu 

et essaie de lancer :

$: ansible webserver -m ping -vvv

Et montre moi le rendu.
Salutations

guru@tj-lp140:/etc/ansible$ ansible webservers -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/core/system/ping.py
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: ubuntu
<35.165.79.66> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r 35.165.79.66 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494 `" && echo ansible-tmp-1482312980.96-238945640414494="` echo $HOME/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494 `" ) && sleep 0'"'"''
<35.165.79.66> PUT /tmp/tmpxll2kJ TO /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ping.py
<35.165.79.66> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r '[35.165.79.66]'
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: ubuntu
<35.165.79.66> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r 35.165.79.66 '/bin/sh -c '"'"'chmod u+x /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ping.py && sleep 0'"'"''
<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: ubuntu
<35.165.79.66> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/home/guru/.ansible/cp/ansible-ssh-%h-%p-%r -tt 35.165.79.66 '/bin/sh -c '"'"'/usr/bin/python /home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/ping.py; rm -rf "/home/ubuntu/.ansible/tmp/ansible-tmp-1482312980.96-238945640414494/" > /dev/null 2>&1 && sleep 0'"'"''
35.165.79.66 | FAILED! => {
    "changed": false, 
    "failed": true, 
    "invocation": {
        "module_name": "ping"
    }, 
    "module_stderr": "Shared connection to 35.165.79.66 closed.\r\n", 
    "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", 
    "msg": "MODULE FAILURE"
}
<192.168.1.113> ESTABLISH SSH CONNECTION FOR USER: fulgor
<192.168.1.113> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=fulgor -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/ansible-ssh-%h-%p-%r 192.168.1.113 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1482330370.75-42265180130710 `" && echo ansible-tmp-1482330370.75-42265180130710="` echo $HOME/.ansible/tmp/ansible-tmp-1482330370.75-42265180130710 `" ) && sleep 0'"'"''
192.168.1.113 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n", 
    "unreachable": true
}

J'ai changé le disque image dans la boîte virtuelle donc la clé ssh a été régénérée mais à partir de ce moment j'ai un message d'erreur.

Pourriez-vous m'aider ?

Générez la clé ssh sur le nœud maître :

root<strong i="6">@master</strong>:~# ssh-keygen -t rsa -C "[email protected]"

Copiez ensuite votre clé publique sur les serveurs avec ssh-copy-id :

root<strong i="10">@master</strong>:~# ssh-copy-id [email protected]
root<strong i="11">@master</strong>:~# ssh-copy-id [email protected]

J'ai eu ces informations sur ce site https://valdhaus.co/writings/ansible-post-install/ et cela fonctionne

@guruprasad85 il semble que vous manquez "python" sur la machine distante (35.165.79.66).

"module_name": "ping"
},
"module_stderr": "Shared connection to 35.165.79.66 closed.\r\n",
"module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n",
"msg": "MODULE FAILURE"
}

Salut,
J'ai trouvé la solution.
Si vous utilisez le système d'exploitation ami(ubuntu 16), aucun python n'est installé, vous devez donc l'installer. Utilisez la commande ci-dessous pour installer python -

sudo apt-get install python-minimal -y

ou

vous devez utiliser le système d'exploitation ami(ubuntu 14). Il a python 2.7.

Remarque : confirmez la version du système d'exploitation que vous avez dans votre système.

Content que tu aies trouvé la solution.

J'essaie de faire un ping depuis une machine de contrôle Ansible (installée dans une machine virtuelle UBUNTU 14.04) vers une instance cent OS.
Les deux sont une instance de cloud google (avec python installé).
Je ne suis pas sûr de l'état de la connexion entre eux. D'après les résultats ci-dessous de ansible all -m ping, j'ai pu voir qu'il y avait un problème avec mon SSH.

35.185.191.25 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n",
    "unreachable": true
# ansible all -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
META: ran handlers
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: None
<127.0.0.1> SSH: EXEC ssh -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=/root/.ansible/cp/21f0e6a9ae 127.0.0.1 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<35.185.191.25> ESTABLISH SSH CONNECTION FOR USER: gane
<35.185.191.25> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=gane -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/4596e88996 35.185.191.25 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<127.0.0.1> (255, '', 'Permission denied (publickey).\r\n')
127.0.0.1 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n",
    "unreachable": true
}
<35.185.191.25> (255, '', 'Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n')
35.185.191.25 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).\r\n",
    "unreachable": true
}

Pourriez-vous me suggérer de réaliser la connexion entre mes VM.

J'ai le même problème @ganfotry . Quelle est la cause de ce problème ? Merci de m'orienter dans le bon sens.

Je l'ai corrigé en générant des clés dans les deux machines virtuelles, puis en copiant les clés
vice-versa à l'intérieur des clés_autorisées.
J'ai eu la réponse ci-dessous alors :)

ansible -m ping all
127.0.0.1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
35.186.***.*** | SUCCESS => {
    "changed": false,
    "ping": "pong"

J'avais le même problème :

$ ansible local -m ping
127.0.0.1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n",
"unreachable": true
}

Résolution du problème en installant sshpass à l'aide de la commande :

sudo apt-get install sshpass

Après avoir installé sshpass, j'ai exécuté cette commande :
` json ansible local -m ping --ask-pass SSH password: 127.0.0.1 | SUCCESS => { "changed": false, "ping": "pong" }
J'espère que cela t'aides!!!

cela a fonctionné pour moi, donc peut vous aider aussi.
Essayez d'enregistrer la clé privée sur votre trousseau

ssh-agent bash
ssh-add <path to private key>

si cela fonctionne, essayez d'ajouter les clés à votre fichier ~/.ssh/config

Salut,
J'obtiens l'erreur ci-dessous lors de l'exécution de la commande en mode GUI tour ansible.

192.168.122.136 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Warning: Permanently added '192.168.122.136' (ECDSA) to the list of known hosts.\r\nPermission denied (publickey,password).\r\n", 
    "unreachable": true 
}

Mais j'arrive à obtenir le résultat en mode CLI sur le serveur.

[root<strong i="10">@node2</strong> ~]# ansible -m ping testservers
openstack | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

Ci-dessous la sortie décrite

[root<strong i="14">@node2</strong> ~]# ansible testservers -m ping -vvv
Using /etc/ansible/ansible.cfg as config file
META: ran handlers
Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/ping.py
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -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=/root/.ansible/cp/859aa03053 192.168.122.136 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.122.136> (0, '/root\n', '')
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -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=/root/.ansible/cp/859aa03053 192.168.122.136 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696 `" && echo ansible-tmp-1497787246.45-142355876761696="` echo /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696 `" ) && sleep 0'"'"''
<192.168.122.136> (0, 'ansible-tmp-1497787246.45-142355876761696=/root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696\n', '')
<192.168.122.136> PUT /tmp/tmpkAYqIN TO /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py
<192.168.122.136> SSH: EXEC sftp -b - -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=/root/.ansible/cp/859aa03053 '[192.168.122.136]'
<192.168.122.136> (0, 'sftp> put /tmp/tmpkAYqIN /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py\n', '')
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -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=/root/.ansible/cp/859aa03053 192.168.122.136 '/bin/sh -c '"'"'chmod u+x /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py && sleep 0'"'"''
<192.168.122.136> (0, '', '')
<192.168.122.136> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.122.136> SSH: EXEC ssh -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=/root/.ansible/cp/859aa03053 -tt 192.168.122.136 '/bin/sh -c '"'"'/usr/bin/python /root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/ping.py; rm -rf "/root/.ansible/tmp/ansible-tmp-1497787246.45-142355876761696/" > /dev/null 2>&1 && sleep 0'"'"''
<192.168.122.136> (0, '\r\n{"invocation": {"module_args": {"data": null}}, "changed": false, "ping": "pong"}\r\n', 'Shared connection to 192.168.122.136 closed.\r\n')
openstack | SUCCESS => {
    "changed": false, 
    "invocation": {
        "module_args": {
            "data": null
        }
    }, 
    "ping": "pong"
}
META: ran handlers
META: ran handlers

Merci

Essayez manuellement d'accéder au serveur sur le terminal, si vous parvenez à ssh le serveur distant, puis supprimez le répertoire .ansible du répertoire de base de l'utilisateur local. Cela fonctionne pour moi. (y)

Pareil pour moi!
Je peux utiliser le serveur ssh via un terminal sans passer la directive -i :

ssh [email protected]

travaux

Exécution de la commande :

ansible all -m ping

J'obtiens l'erreur :

    "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n",  
    "unreachable": true

@lkjangir supprimer le répertoire .ansible n'a pas fonctionné non plus. =(

Essayez ceci, remplacez ec2-user par le nom d'utilisateur que vous avez configuré.

ansible all -u ec2-user -m ping -vvv

@aelkz : dans le fichier /etc/ansible/hosts, vous pouvez mettre : [email protected] au lieu de server.com puis essayez ansible all -m ping .
Sinon, si vous n'avez pas spécifié l'utilisateur1 dans /etc/ansible/hosts, vous devez spécifier l'utilisateur dans la commande ansible : ansible all -m ping -u user1
J'ai eu la même erreur et cette solution a résolu mon problème.

Si je ne me trompe pas, cela est dû à un problème de clé ssh. Rene ratez la nouvelle clé ou convertissez votre clé au format openssh pour éviter les erreurs.

L'utilisation de --ask-pass avec les paramètres -u a fonctionné pour moi.

@Hai-minhD Votre solution a fonctionné pour moi, merci. Je testais sur des hôtes où j'avais l'utilisateur root comme le même utilisateur que j'utilisais dans la machine de contrôle. Dans cet hôte spécifique où j'obtenais l'échec signalé ci-dessus, j'ai un utilisateur différent. Résolu en ajoutant l'hôte avec ce nom d'utilisateur dans le fichier d'hôtes Ansible : nom d'utilisateur@hôte.

essayer-

serveur web ansible -m ping --ask-pass -i path_to_local_hosts_file

Python installé sur l'esclave et cela a fonctionné pour moi.

J'ai le même problème.
Je trouve la solution : j'ajoute /etc/ansible/hosts :
ansible_ssh_user=ansible_ssh_pass=.

J'espère que cela t'aides.

Obtenir une erreur. Ici, shivslave est une autre machine virtuelle sur Virtualbox avec IP 192.168.0.5 et je peux la connecter avec [email protected] avec succès mais la commande Ansible ne fonctionne pas. Le fichier hôte contient

[Exemple]192.168.0.5

shivmaster@shivmaster-VirtualBox :~$ exemple ansible -m ping -u shivslave -vvv
ansible 2.4.1.0
fichier de configuration = /etc/ansible/ansible.cfg
chemin de recherche de module configuré = [u'/home/shivmaster/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
emplacement du module python ansible = /usr/lib/python2.7/dist-packages/ansible
emplacement de l'exécutable = /usr/bin/ansible
version python = 2.7.6 (par défaut, 26 octobre 2016, 20:30:19) [GCC 4.8.4]
Utilisation de /etc/ansible/ansible.cfg comme fichier de configuration
Source d'inventaire /etc/ansible/hosts analysée avec le plugin ini
META : managers exécutés
Utilisation du fichier de module /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<192.168.0.5> ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : shivslave
<192.168.0.5> SSH : EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=shivslave -o ConnectTimeout=10 -o ControlPath=/home/shivmaster/.ansible/cp/e51c1eb9be 192.168.0.5 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.0.5> (255, '', 'Autorisation refusée (clé publique, mot de passe).\r\n')
192.168.0.5 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Impossible de se connecter à l'hôte via ssh : autorisation refusée (clé publique, mot de passe).\r\n",
"inaccessible": vrai
}
shivmaster@shivmaster-Boîte virtuelle :~$

@lktslionel
Je reçois le même problème, j'ai essayé toutes les options mentionnées ci-dessus, pourriez-vous s'il vous plaît aider ici

ansible 2.4.2.0
fichier de configuration = /etc/ansible/ansible.cfg
chemin de recherche de module configuré = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
emplacement du module python ansible = /usr/lib/python2.7/dist-packages/ansible
emplacement de l'exécutable = /usr/bin/ansible
version python = 2.7.12 (par défaut, 20 novembre 2017, 18:23:56) [GCC 5.4.0 20160609]
Utilisation de /etc/ansible/ansible.cfg comme fichier de configuration
peut être désactivé en définissant deprecation_warnings=False dans ansible.cfg.
configuration des plugins d'inventaire
Source d'inventaire /etc/ansible/hosts analysée avec le plugin ini
Chargement du plugin de rappel minimal de type stdout, v2.0 depuis /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc
META : managers exécutés
Utilisation du fichier de module /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<10.0.3.36> ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : root
<10.0.3.36> SSH : EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o Port=22 -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi- keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/c8171a76d6 10.0.3.36 '/bin/sh -c '"'"'echo ~ && dormir 0'"'"''
<10.0.3.36> (255, '', 'OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1er mars 2016\r\ndebug1 : lecture des données de configuration /etc/ssh/ssh_config\r\ndebug1 : /etc/ ssh/ssh_config ligne 19 : application des options pour \r\ndebug1 : auto-mux : essayer le maître existant\r\ndebug1 : le socket de contrôle "/root/.ansible/cp/c8171a76d6" n'existe pas\r\ndebug2 : résolution de "10.0 .3.36" port 22\r\ndebug2 : ssh_connect_direct : needpriv 0\r\ndebug1 : connexion au port 22.0.3.36 [10.0.3.36] : fd 3 paramètre O_NONBLOCK\r\ndebug1 : fd 3 effacement O_NONBLOCK \r\ndebug1 : connexion établie.\r\ndebug3 : délai d'expiration : 9996 ms restant après la connexion\r\ndebug1 : permanence_set_uid : 0/0\r\ndebug1 : fichier d'identité /root/.ssh/id_rsa type 1\r\ndebug1 : key_load_public : aucun fichier ou répertoire de ce type\r\ndebug1 : fichier d'identité /root/.ssh/id_rsa-cert type -1\r\ndebug1 : key_load_public : aucun fichier ou répertoire de ce type\r\ndebug1 : fichier d'identité /root/. ssh/id_dsa type -1\r\ndebug1 : key_load_public : aucun fichier ou répertoire de ce type\r\ndebug1 : fichier d'identité /root/.s compression : [email protected]\r\ndebug1 : kex : client-> chiffrement du serveur : [email protected] MAC :compression : [email protected]\r\ndebug3 : envoyer le paquet : tapez 30\r\ndebug1 : attend SSH2_MSG_KEX_ECDH_REPLY\r\ndebug3 : recevez le paquet : tapez 31\r\ndebug1 : Clé hôte du serveur : ecdsa-sha2-nistp256 SHA256 : JDiSsUdyRJfRGvtqAURzMtKu/Ghp0adBt/l9VbvgDfg\r\ndebug3 : hostkeys_foreach : lecture du fichier "/root/.ssh/known_hosts"\r\ndebug3 : record_hostkey : type de clé trouvé ECDSA dans le fichier /root/.ssh\rsh/known : load_hostkeys : 1 clés chargées à partir de 10.0.3.36\r\ndebug1 : l'hôte \'10.0.3.36\' est connu et correspond à la clé d'hôte ECDSA.\r\ndebug1 : clé trouvée dans /root/.ssh/known_hosts:1\r \ndebug3 : envoyer le paquet : tapez 21\r\ndebug2 : set_newkeys : mode 1\r\ndebug1 : rekey après 134217728 blocs\r\ndebug1 : SSH2_MSG_NEWKEYS envoyé\r\ndebug1 : attendant SSH2_MSG_NEWKEYS\r\ndebug3 : recevoir le paquet : tapez 21 \r\ndebug2 : set_newkeys : mode 0\r\ndebug1 : reclé après 134217728 blocs\r\ndebug1 : SSH2_MSG_NEWKEYS reçu\r\ndebug2 : clé : /root/.ssh/id_ecdsa (0x55cbdc34d840), agent\r\ndebug2 : clé : /root/.ssh/id_rsa (0x55cbdc33fc30)\r\ndebug 2 : clé : /root/.ssh/id_dsa ((nil))\r\ndebug2 : clé : /root/.ssh/id_ed25519 ((nil))\r\ndebug3 : envoyer le paquet : tapez 5\r\ndebug3 : recevoir le paquet : tapez 7\r\ndebug1 : SSH2_MSG_EXT_INFO reçu\r\ndebug1 : kex_input_ext_info : server-sig-algs=\r\ndebug3 : recevoir le paquet : type 6\r\ndebug2 : service_accept : ssh-userauth\r\ndebug1 : SSH2_MSG_SERVICE_ACCEPT reçu\r\ndebug3 : envoyer le paquet : type 50\r\ndebug3 : recevoir le paquet : type 51\r\ ndebug1 : authentifications qui peuvent continuer : clé publique,mot de passe\r\ndebug3 : recommencer, passé une autre liste clé publique,mot de passe\r\ndebug3 : préféré gssapi-with-mic,gssapi-keyex,hostbased,publickey\r\ndebug3 : authmethod_lookup publickey\r\ndebug3 : restant préféré : ,gssapi-keyex,hostbased,publickey\r\ndebug3 : authmethod_is_enabled publickey\r\ndebug1 : méthode d'authentification suivante : publickey\r\ndebug1 : offrant la clé publique ECDSA : /root/.ssh/ id_ecdsa\r\ndebug3 : send_pubkey_test\r\ndebug3 : envoyer le paquet : tapez 50\r\ndebug2 : nous avons envoyé un paquet de clé publique, attendez la réponse\r\ndebug3 : recevez le paquet : tapez 51\r\ndebug1 : les authentifications peuvent continuer : publickey,password\r\ndebug1 : offre la clé publique RSA : /root/.ssh/id_rsa\r\ndebug3 : send_pubkey_test\r\ndebug3 : envoyer le paquet : tapez 50\r\ndebug2 : nous avons envoyé une clé publique paquet, attendez la réponse\r\ndebug3 : recevez le paquet : tapez 51\r\ndebug1 : Authentifications qui peuvent continuer : clé publique,mot de passe\r\ndebug1 : Essayez la clé privée : /root/.ssh/id_dsa\r\ndebug3 : non telle identité : /root/.ssh/id_dsa : aucun fichier ou répertoire de ce type\r\ndebug1 : essai de clé privée : /root/.ssh/id_ed25519\r\ndebug3 : aucune telle identité : /root/.ssh/id_ed25519 : non tel fichier ou répertoire\r\ndebug2 : nous n'avons pas envoyé de paquet, méthode de désactivation\r\ndebug1 : plus de méthodes d'authentification à essayer.\r\nAutorisation refusée (clé publique, mot de passe).\r\n')
10.0.3.36 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Échec de la connexion à l'hôte via ssh : OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1er mars 2016\r\ndebug1 : Lecture des données de configuration /etc/ssh/ssh_config\r\ndebug1 : / etc/ssh/ssh_config ligne 19 : application des options pour \r\ndebug1 : auto-mux : essayer le maître existant\r\ndebug1 : le socket de contrôle \"/root/.ansible/cp/c8171a76d6\" n'existe pas\r\ndebug2 : résolution du \"10.0.3.36\" port 22\r\ndebug2 : ssh_connect_direct : needpriv 0\r\ndebug1 : connexion au port 22 de 10.0.3.36 [10.0.3.36] :\r\ndebug2 : paramètre fd 3 O_NONBLOCK\r\ ndebug1 : effacement du fd 3 O_NONBLOCK\r\ndebug1 : connexion établie.\r\ndebug3 : délai d'attente : 9996 ms restent après la connexion\r\ndebug1 : permanence_set_uid : 0/0\r\ndebug1 : fichier d'identité /root/.ssh/id_rsa type 1\r\ndebug1 : key_load_public : aucun fichier ou répertoire de ce type\r\ndebug1 : fichier d'identité /root/.ssh/id_rsa-cert type -1\r\ndebug1 : key_load_public : aucun fichier ou répertoire de ce type\r\ndebug1 : fichier d'identité /root/.ssh/id_dsa type -1\r\ndebug1 : key_load_public : aucun fichier ou répertoire de ce type\r\nde compression : [email protected]\r\ndebug1 : kex : client-> chiffrement du serveur : [email protected] MAC :compression : [email protected]\r\ndebug3 : envoyer le paquet : tapez 30\r\ndebug1 : attend SSH2_MSG_KEX_ECDH_REPLY\r\ndebug3 : recevez le paquet : tapez 31\r\ndebug1 : Clé hôte du serveur : ecdsa-sha2-nistp256 SHA256 : JDiSsUdyRJfRGvtqAURzMtKu/Ghp0adBt/l9VbvgDfg\r\ndebug3 : hostkeys_foreach : lecture du fichier \"/root/.ssh/known_hosts\"\r\ndebug3 : record_hostkey : type de clé trouvé ECDSA dans le fichier/\_root/host.ssh\ ndebug3 : load_hostkeys : 1 clés chargées depuis 10.0.3.36\r\ndebug1 : l'hôte « 10.0.3.36 » est connu et correspond à la clé de l'hôte ECDSA.\r\ndebug1 : clé trouvée dans /root/.ssh/known_hosts:1\r \ndebug3 : envoyer le paquet : tapez 21\r\ndebug2 : set_newkeys : mode 1\r\ndebug1 : rekey après 134217728 blocs\r\ndebug1 : SSH2_MSG_NEWKEYS envoyé\r\ndebug1 : attendant SSH2_MSG_NEWKEYS\r\ndebug3 : recevoir le paquet : tapez 21 \r\ndebug2 : set_newkeys : mode 0\r\ndebug1 : reclé après 134217728 blocs\r\ndebug1 : SSH2_MSG_NEWKEYS reçu\r\ndebug2 : clé : /root/.ssh/id_ecdsa (0x55cbdc34d840), agent\r\ndebug2 : clé : /root/.ssh/id_rsa (0x55cbdc33fc30)\r\ndebug 2 : clé : /root/.ssh/id_dsa ((nil))\r\ndebug2 : clé : /root/.ssh/id_ed25519 ((nil))\r\ndebug3 : envoyer le paquet : tapez 5\r\ndebug3 : recevoir le paquet : tapez 7\r\ndebug1 : SSH2_MSG_EXT_INFO reçu\r\ndebug1 : kex_input_ext_info : server-sig-algs=\r\ndebug3 : recevoir le paquet : tapez 6\r\ndebug2 : service_accept : ssh-userauth\r\ndebug1 : SSH2_MSG_SERVICE_ACCEPT reçu\r\ndebug3 : envoyer le paquet : tapez 50\r\ndebug3 : recevoir le paquet : tapez 51\r\ ndebug1 : Authentifications qui peuvent continuer : clé publique,mot de passe\r\ndebug3 : recommencer, passé une autre liste clé publique,mot de passe\r\ndebug3 : préféré gssapi-with-mic,gssapi-keyex,hostbased,publickey\r\ndebug3 : authmethod_lookup publickey\r\ndebug3 : restant préféré : ,gssapi-keyex,hostbased,publickey\r\ndebug3 : authmethod_is_enabled publickey\r\ndebug1 : méthode d'authentification suivante : publickey\r\ndebug1 : offrant la clé publique ECDSA : /root/.ssh/ id_ecdsa\r\ndebug3 : send_pubkey_test\r\ndebug3 : envoyer le paquet : tapez 50\r\ndebug2 : nous avons envoyé un paquet de clé publique, attendez la réponse\r\ndebug3 : recevez le paquet : tapez 51\r\ndebug1 : les authentifications peuvent continuer : publickey,password\r\ndebug1 : offre la clé publique RSA : /root/.ssh/id_rsa\r\ndebug3 : send_pubkey_test\r\ndebug3 : envoyer le paquet : tapez 50\r\ndebug2 : nous avons envoyé une clé publique paquet, attendez la réponse\r\ndebug3 : recevez le paquet : tapez 51\r\ndebug1 : Authentifications qui peuvent continuer : clé publique,mot de passe\r\ndebug1 : Essayez la clé privée : /root/.ssh/id_dsa\r\ndebug3 : non telle identité : /root/.ssh/id_dsa : aucun fichier ou répertoire de ce type\r\ndebug1 : essai de clé privée : /root/.ssh/id_ed25519\r\ndebug3 : aucune telle identité : /root/.ssh/id_ed25519 : non tel fichier ou répertoire\r\ndebug2 : nous n'avons pas envoyé de paquet, méthode de désactivation\r\ndebug1 : plus de méthodes d'authentification à essayer.\r\nAutorisation refusée (clé publique, mot de passe).\r\n",
"inaccessible": vrai
}
root@ip-172-31-31-140:~/.ssh#

J'ai eu le même problème, ansible essaie de se connecter en utilisant votre nom d'utilisateur actuel, donc mon moyen de contourner le problème consistait à écraser le nom d'utilisateur, par exemple :
ansible all -m ping -u ec2-user

J'ai rencontré deux erreurs lors de l'exécution de 'ansible all -m ping' et je suis tombé sur ce fil pour t-shoot. Je tiens à remercier tout le monde pour leurs contributions car cela m'a aidé à comprendre cela.

:ERREUR-1:
Étapes pour corriger ce message : "msg": "Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique, mot de passe).\r\n"
1) J'ai modifié le fichier de configuration du correctif dans /etc/ansible/hosts pour inclure le bon nom d'utilisateur 'ubuntu'
2) J'ai passé l'argument de '--private-key=/Users/my-user/.ssh/my-key.pem' donc la commande ressemblait à ceci :
ansible all -m ping --private-key=/Users/my-user/.ssh/my-key.pem
Ce guide m'a expliqué comment passer la clé en argument :
https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/commands/

:ERREUR 2:
"module_stdout": "/bin/sh : 1 : /usr/bin/python : introuvable\r\n",
Pour résoudre ce problème, j'ai exécuté « sudo apt-get update ; sudo apt-get install python' sur l'hôte distant. J'utilise une instance ec2. Remarque : l'exécution des commandes d'installation dans le cadre du script de démarrage aiderait à résoudre le deuxième problème.

Acclamations!

On dirait que python manquait sur nos serveurs Ubuntu 16.04. Je l'ai installé sur tous les hôtes distants et cela a résolu le problème :
sudo apt-get install python-minimal -y

SSH se connectera avec des terminaux mais pas avec vsts et ansible, quelqu'un peut-il m'aider

Essayer de configurer la connexion SSH à * @10.130.2.142:22
2018-04-04T21:56:46.6533908Z
2018-04-04T21:56:46.6549162Z JOUER [tous] * * * * * * * * * * * * * * * * * * * * *
2018-04-04T21:56:46.6555625Z
2018-04-04T21:56:46.6603308Z
2018-04-04T21:56:46.6616154Z TÂCHE [Créer des répertoires] * * * * * * * * * * * * * * * * *
2018-04-04T21:56:46.6622522Z
2018-04-04T21:56:46.8874071Z a échoué : [10.130.2.206] (item=/home/ * /myagent/) => {"item": "/home/ * /myagent/", "msg": " Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique).\r\n", "unreachable": true}
2018-04-04T21:56:46.8880968Z
2018-04-04T21:56:47.0341093Z a échoué : [10.130.2.206] (item=/home/ * /mywork/) => {"item": "/home/ * /mywork/", "msg": " Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique).\r\n", "unreachable": true}
2018-04-04T21:56:47.0349137Z
2018-04-04T21:56:47.0363780Z fatal : [10.130.2.206] : INDISPENSABLE ! => {"changed": false, "msg": "Tous les éléments terminés", "results": [{"_ansible_ignore_errors": null, "_ansible_item_result": true, "item": "/home/ * /myagent/" , "msg": "Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique).\r\n", "unreachable": true}, {"_ansible_ignore_errors": null, "_ansible_item_result": true, "item" : "/home/ * /mywork/", "msg": "Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique).\r\n", "unreachable": true}]}
2018-04-04T21:56:47.0371817Z
2018-04-04T21:56:47.0387681Z pour réessayer, utilisez : --limit @/tmp/Infrax/Agent_config.retry
2018-04-04T21:56:47.0397434Z
2018-04-04T21:56:47.0403265Z
2018-04-04T21:56:47.0415230Z RÉCAPITULATIF DU JEU * * * * * * * * * * * * * * * * * * * * *
2018-04-04T21:56:47.0421749Z
2018-04-04T21:56:47.0434107Z 10.130.2.206 : ok=0 modifié=0 inaccessible=1 échec=0
2018-04-04T21:56:47.0440861Z
2018-04-04T21:56:47.0446720Z
2018-04-04T21:56:47.0452765Z
2018-04-04T21:56:47.0850279Z ##[error]Command ansible-playbook -i "10.130.2.206," /tmp/Infrax/Agent_config.yaml -b --become-user * est sorti avec le code 4.
2018-04-04T21:56:47.0948275Z ##[section]Finition : Exécuter le playbook

Lorsque j'ai touché cela, j'utilisais Ansible sur OSX pour me connecter à une boîte aws avec un certificat pem. Je n'avais PAS de fichier ~/.ssh/config. Une fois que j'en ai créé un et que je n'ai rien ajouté de plus :

Héberger *
Fichier d'identité ~/.ssh/id_rsa
AddKeysToAgent oui

Ensuite, j'ai été magiquement capable d'exécuter des playbooks.

J'obtiens l'erreur ci-dessous en essayant de copier un fichier de la machine de contrôle vers un nœud.

COMMANDE : sudo ansible dbservers -m copy -a "src=/etc/ansible/Taha dest=/etc/Taha"
Erreur:
52.186.71.70 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Échec de la connexion à l'hôte via ssh : autorisation refusée (publickey,gssapi-keyex,gssapi-with-mic,password,keyboard-interactive).\r\n",
"inaccessible": vrai
}

J'ai essayé toutes les étapes énumérées ci-dessus, toujours sans succès...

essayez de passer le fichier d'inventaire et la clé ssh avec un nom d'utilisateur. Je n'ai aucun utilisateur défini dans l'inventaire pour les nœuds, donc je passe avec la commande et cela fonctionne toujours pour moi. donc la commande sera comme ceci -

sudo ansible dbservers -m -i Inventory/inventory-file --user=ubuntu --private-key="private-key.pem" copy -a "src=/etc/ansible/Taha dest=/etc/Taha"

Merci Lokesh pour l'aide...

Comme je suis nouveau sur ansible, je veux juste savoir où puis-je enregistrer le fichier pem sur le serveur de contrôle ? dois-je apporter des modifications au fichier d'inventaire ?

Salut les gars,
J'ai eu le même problème.
Mon utilisateur devops pouvait envoyer un ssh à tous les serveurs, mais lorsque j'essayais d'exécuter (avec mysuer), des commandes ansible, j'obtenais toujours l'erreur ... UNREACHABLE! ...
Je l'ai résolu en créant , avec "mysuer" ssh serverDestiny (le serveur qui se trouve dans le fichier d'inventaire), notez que si vous utilisez fqdn, vous devez créer ssh sur le FQDN.
Exemple:
inventaire des chats
serveur1

[ monutilisateur@workstation ansible-deploy-cr] ssh-keygen
[ monutilisateur@workstation ansible-deploy-cr] ssh-copy-id -i devops@server1
test..
[ monutilisateur@workstation ansible-deploy-cr] ssh ' devops@server1

J'espère que cela vous aidera.
si oui, donnez un like
Merci,
MBrito

10.20.2.42
ansibleclient.com

[root @ansibleserver ~]# ansible all -m ping
10.20.2.42 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Échec de la connexion à l'hôte via ssh : autorisation refusée (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
"inaccessible": vrai
}
ansibleclient.com | INACCESSIBLE ! => {
"changé": faux,
"msg": "Impossible de se connecter à l'hôte via ssh : autorisation refusée (clé publique, mot de passe).\r\n",
"inaccessible": vrai
}
[ root@ansibleserver ~]#

Veuillez m'aider sur ce problème .. je suppose que nous devons créer une clé ssh comment créer un processus étape par étape s'il vous plaît, je ne suis pas un expert

Aide gentillement

Ceci est corrigé en ajoutant la génération de la clé ssh au serveur et en la copiant sur le client

Commandes :

$ ssh-keygen -t rsa

appuyez sur entrée

$ racine du cd/
$ la -la

copier id_rsa.pub vers la machine virtuelle de destination
$ssh-copy-id destination vm

ssh-copy-id -i user@localhost
ssh-copy-id -i user@servers_in_inventory

semble fonctionner

Cette URL est le numéro 1 de Google pour cette erreur, donc, même si ce "problème" est fermé, les gens continueront à le frapper dans un avenir prévisible. Voici comment je l'ai corrigé pour python3 , ansible 2.5 (les deux sont des versions PIP, dans un virutualenv) et OSX High Sierra.
Rapporter mon "correctif", pour mon scénario. Fonctionnement:
$ python3 $ (quel ansible) localhost -m ping -vvvv

Cela entraînerait cette erreur. -vvvv révèle qu'il s'agit d'un échec de clé/authentification. Super. Vous pouvez isoler Ansible de cela en faisant simplement [email protected] et pour moi, cela a échoué (je considère qu'un échec de connexion avec des clés SSH est un échec).

Solution facile : at ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

J'ai eu le même problème et j'obtiens la solution par moi-même, je vais vous dire ce qui m'arrive.
J'obtiens la même erreur et je la résous cz dans le même dossier de projet que j'avais un fichier hosts, et pour une raison quelconque, il y avait une erreur donc juste avec un hôte rm -r, j'ai pu le résoudre.
Je vous expose si vous avez le même problème que moi.

Joyeux Noël X), xoxo.

J'ai eu le même problème jusqu'à ce que je modifie mon fichier d'inventaire avec
[testserver]
<target_ip> ansible_user=<target_domain_name> ansible_ssh_pass=<target_pass>
Ensuite pour tester :
ansible testserver -m ping

ubuntu@ip-172-31-1-85 :/etc/ansible$ sudo ansible-playbook tomserver.yml

JOUER [serveurs Web] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **

TÂCHE [Rassembler des faits] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal : [54.153.119.230] : INDISPONIBLE ! => {"changed": false, "msg": "Échec de la connexion à l'hôte via ssh : aucune identité de ce type : /root/UbuntuAnsible.pem : aucun fichier ou répertoire de ce type\r\nAutorisation refusée (clé publique).\r \n", "inaccessible": vrai}
pour réessayer, utilisez : --limit @/etc/ansible/tomserver.retry

s'il vous plait aidez

Essayez-vous simplement de vous connecter? A quoi ressemble votre fichier hosts ?

Le mercredi 12 septembre 2018, FALCON-SJSU [email protected]
a écrit:

fatal : [54.153.119.230] : INDISPONIBLE ! => {"changé": false, "msg": "Échec
pour se connecter à l'hôte via ssh : aucune telle identité : /root/UbuntuAnsible.pem :
Aucun fichier ou répertoire de ce type\r\nAutorisation refusée (clé publique).\r\n",
"inaccessible": vrai}
pour réessayer, utilisez : --limit @/etc/ansible/tomserver.retry

s'il vous plait aidez

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-420827308 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/An-8H0G3NUSkpFXpcm2hkAXXGco3eMmyks5uaZO0gaJpZM4LSWpz
.

J'ai trouvé la solution.
Mon système d'exploitation était Mac OS , et je change le 'ansible.cfg' dans la ligne 'remote_user = root' , le problème est résolu.

Ouais! J'ai du faire la même chose ! Content que tu l'aies résolu !

Le mar. 18 septembre 2018 à 04h09 ZhangZhongyuan [email protected]
a écrit:

J'ai trouvé la solution.
Mon système d'exploitation était Mac OS , et je change le 'ansible.cfg' dans le
ligne 'remote_user = root ' , le problème est résolu.

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-422297005 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/An-8H0zGJ4zE4mKmaMtXDAtInZNDlrW4ks5ucKpCgaJpZM4LSWpz
.

J'ai exécuté le playbook avec les indicateurs suivants :

ansible-playbook playbook.yml --ask-pass - cela a aidé.

Dans les hôtes, vous pouvez également faire ansibleuser="user" ansiblepass="pass" à droite
à côté de l'adresse IP de la cible. Cela me permet d'exécuter des livres de jeu sans aucun
invites de mot de passe supplémentaires.

Le mardi 2 octobre 2018 à 11 h 15, jluntnscc [email protected] a écrit :

J'ai exécuté le playbook avec les indicateurs suivants :

ansible-playbook playbook.yml --ask-pass - cela a aidé.

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-426312089 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/An-8HzRVj8-BqcUiQywgQYKIVbcr4yzdks5ug4MEgaJpZM4LSWpz
.

essaye ça

tous les serveurs - Fonctionne lorsque les noms d'utilisateur du serveur et du client sont identiques (sans mot de passe)

ansible all -m ping

tous les serveurs - "raj" est l'utilisateur du nœud géré (sans mot de passe)

ansible all -u raj -m ping

OU

Seul groupe de serveurs de démonstration - "raj" est l'utilisateur du nœud géré (sans mot de passe)

serveurs de démonstration ansible -u raj -m ping

OU

Si vous utilisez l'authentification par mot de passe

ansible -m ping all -u raj --ask-pass

ou vous pouvez suivre ce lien pour plus d'informations
https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-ansible-automation-tool-for-it-management-on-centos-7-ubuntu-14-04-fedora- 22-partie-1.html

Ce qui a fonctionné pour moi, c'est de mettre à jour mon fichier hosts pour avoir le chemin d'accès à la clé ssh :

[webserver]
IP_ADDRESS ansible_user=ubuntu ansible_connection=ssh ansible_private_key_file=~/.ssh/key.pem

Belle solution. Cela prendrait soin de plusieurs cibles!

Le lundi 29 octobre 2018 à 16 h 02, fhackenb [email protected] a écrit :

Ce qui a fonctionné pour moi, c'est de mettre à jour mon fichier hosts pour avoir le chemin d'accès au ssh
clé:

[serveur Web]
IP_ADDRESS ansible_user=ubuntu ansible_connection=ssh ansible_private_key_file=~/.ssh/key.pem

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-434057611 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/An-8HzLY4PQVaWdPDOH0bHGnh9xpzmDWks5up17AgaJpZM4LSWpz
.

fonctionne bien après la solution @riteshpuj2013 .

ansible-playbook test.yml --ask-pass

je reçois ce problème, je ne sais pas comment progresser

[email protected] | INACCESSIBLE ! => {
"changé": faux,
"msg": "Échec d'authentification ou d'autorisation. Dans certains cas, vous avez peut-être pu vous authentifier et n'aviez pas d'autorisations sur le répertoire cible. Envisagez de changer le chemin tmp distant dans ansible.cfg en un chemin racine dans \"/tmp \". La commande ayant échoué était : ( umask 77 && mkdir -p \" echo /tmp/.ansible/tmp/ansible-tmp-1543139945.24-52208136278646 \" && echo ansible-tmp-1543139945.24-52208136278646=\" echo /tmp/.ansible/tmp/ansible-tmp-1543139945.24-52208136278646 \" ), s'est terminée avec le résultat 1 ",
"inaccessible": vrai
}

capable d'exécuter le playbook avec ansible mais tout en exécutant le même playbook avec la tour ansible obtenant une erreur


<192.168.0.17> ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : admin
<192.168.0.17> SSH : EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=admin -o ConnectTimeout=10 -o ControlPath=/tmp/awx_86_9cdeKb/cp/86796477d7 192.168.0.17 '/bin/sh -c '"'"'echo ~admin && sleep 0'"'" ''
<192.168.0.17> (255, '', "Avertissement : Ajout permanent de '192.168.0.17' (ECDSA) à la liste des hôtes connus.\r\nAutorisation refusée (publickey,gssapi-keyex,gssapi-with-mic,password) ).\r\n")
fatal : [192.168.0.17] : INDISPONIBLE ! => {
"changé": faux,
"msg": "Échec de la connexion à l'hôte via ssh : Avertissement : "192.168.0.17" (ECDSA) a été ajouté de façon permanente à la liste des hôtes connus.\r\nAutorisation refusée (publickey,gssapi-keyex,gssapi-with-mic ,mot de passe).\r\n","inaccessible": vrai
}

je reçois ce problème, s'il vous plaît donnez-moi une solution

ubuntu @master :~$ ansible-playbook playbook2.yml -b PLAY [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * TÂCHE [Rassembler des faits] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal : [172.31.42.20] : INDISPONIBLE ! => {"changé": false, "msg": "Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique, mot de passe).\r\n", "unreachable": true}
pour réessayer, utilisez : --limit @/home/ubuntu/playbook2.retry PLAY RECAP * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

172.31.42.20 : ok=0 modifié=0 inaccessible=1 échec=0

je reçois ce problème, s'il vous plaît donnez-moi une solution

ubuntu@master :~$ ansible-playbook playbook2.yml -b PLAY [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * TÂCHE [Rassembler des faits] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

fatal : [172.31.42.20] : INDISPONIBLE ! => {"changé": false, "msg": "Échec de la connexion à l'hôte via ssh : autorisation refusée (clé publique, mot de passe).\r\n", "unreachable": true}
pour réessayer, utilisez : --limit @/home/ubuntu/playbook2.retry PLAY RECAP * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
172.31.42.20 : ok=0 modifié=0 inaccessible=1 échec=0

Deux solutions que nous avons : -

password less auth (you can refer google how to generate rsa key )
add ask_pass=true in ancible.cfg file. (This will ask password when you run ansible)

Veuillez configurer la connexion SSH à la machine hôte et la tester.
Une fois que c'est fait, dans le fichier /etc/ansible/hosts, donnez l'IP hôte appropriée.
Maintenant, pour tester la connexion sécurisée entre ansible et la machine invitée, utilisez la commande ci-dessous :
-> ansible -i hosts -u vagrant --ask-pass -m ping all
hosts-> hosts file (donnez l'adresse IP appropriée à l'invité)
-u vagrant -> vagrant est le nom d'utilisateur de ma machine invitée
--ask-pass-> Il vous permet d'entrer le mot de passe SSH pour vous connecter à l'invité m/c.
Remarque : si je n'utilise pas --ask-pass, une erreur s'affichera.

Merci si ça peut aider :)

il est fort possible que votre /etc/ansible/hosts soit faux

je suis nouveau sur ansible, quelqu'un peut-il m'aider

34.201.109.32 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Impossible de se connecter à l'hôte via ssh : [email protected] : Autorisation refusée (
"inaccessible": vrai
}

Essayez d'inclure le mot de passe de votre machine cible dans votre fichier hosts.
En règle générale, vous aurez besoin d'avoir une connexion ssh existante qui
génère une clé RSA pour votre hôte et votre machine locale. Essayez ssh dans le
hôte puis exécutez à nouveau ansible.

Le dim. 20 janv. 2019 à 11:22 Venkata Bhanusree Vadlamudi <
[email protected]> a écrit :

je suis nouveau sur ansible, quelqu'un peut-il m'aider

34.201.109.32 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Impossible de se connecter à l'hôte via ssh : [email protected] :
Autorisation refusée (clé publique).\r\n",
"inaccessible": vrai
}

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455880089 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/An-8H0nPfSdUELQxzoQAvvHHlsau7uyBks5vFJfOgaJpZM4LSWpz
.

Lorsque j'utilise la commande ssh depuis mon terminal local, je peux me connecter à l'instance ec2. Cependant, lorsque j'exécute le script ansible, j'obtiens l'erreur.

34.201.109.32 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Impossible de se connecter à l'hôte via ssh : [email protected] : Autorisation refusée (
"inaccessible": vrai
}

Avec les instances AWS ec2, vous devez générer une clé publique via AWS,
téléchargez-le et pointez la session ssh vers cette clé. Il existe des tutoriels pour
cette procédure en ligne.

Le dim. 20 janv. 2019 à 16:48 Venkata Bhanusree Vadlamudi <
[email protected]> a écrit :

Lorsque j'utilise la commande ssh depuis mon terminal local, je ne parviens pas à me connecter
à l'instance ec2. Cependant, lorsque j'exécute le script ansible, j'obtiens l'erreur.

34.201.109.32 | INACCESSIBLE ! => {
"changé": faux,
"msg": "Impossible de se connecter à l'hôte via ssh : [email protected] :
Autorisation refusée (clé publique).\r\n",
"inaccessible": vrai
}

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455905472 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/An-8Hya_SkLrHT-HLYEOPEE2QXsSuDOJks5vFOQOgaJpZM4LSWpz
.

Salut les gars,
J'ai eu le même problème.
Mon utilisateur devops pouvait envoyer un ssh à tous les serveurs, mais lorsque j'essayais d'exécuter (avec mysuer), des commandes ansible, j'obtenais toujours l'erreur ... UNREACHABLE! ...
Je l'ai résolu en créant , avec "mysuer" ssh serverDestiny (le serveur qui se trouve dans le fichier d'inventaire), notez que si vous utilisez fqdn, vous devez créer ssh sur le FQDN.
Exemple:
inventaire des chats
serveur1

[ monutilisateur@workstation ansible-deploy-cr] ssh-keygen
[ monutilisateur@workstation ansible-deploy-cr] ssh-copy-id -i devops@server1
test..
[ monutilisateur@workstation ansible-deploy-cr] ssh ' devops@server1

J'espère que cela vous aidera.
si oui, donnez un like
Merci,
MBrito

Cela a résolu mon problème dans AWS sur un VPC privé, j'ai besoin du nom de domaine complet interne pour tous les serveurs

Salut les gars,
J'étais confronté au même problème pour localhost et j'ai réalisé que '$ ssh localhost' demandait un mot de passe. Je l'ai résolu en déplaçant la clé publique de « utilisateur » sur localhost vers la clé_autorisée.

ssh-copy-id -i ~/.ssh/id_rsa.pub test@localhost

Vérifiez simplement si les fichiers authorised_key ont les clés nécessaires

test est le nom d'utilisateur

Wow... J'ai lu les commentaires. Je ne peux pas croire que les problèmes existent toujours. Je suis sur le dernier ansible. Je suppose que c'est l'une des douleurs de l'utilisation de l'opensource.

vagrant<strong i="6">@mgmt</strong>:~$ ansible lb -u vagrant -m ping -vvv
ansible 2.7.8
  config file = /home/vagrant/ansible.cfg
  configured module search path = [u'/home/vagrant/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]
Using /home/vagrant/ansible.cfg as config file
[DEPRECATION WARNING]: [defaults]hostfile option, The key is misleading as it can also be a list of hosts, a directory or a list of paths , use [defaults] inventory=/path/to/file|dir 
instead. This feature will be removed in version 2.8. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
/home/vagrant/inventory.ini did not meet host_list requirements, check plugin documentation if this is unexpected
/home/vagrant/inventory.ini did not meet script requirements, check plugin documentation if this is unexpected
/home/vagrant/inventory.ini did not meet yaml requirements, check plugin documentation if this is unexpected
Parsed /home/vagrant/inventory.ini inventory source with ini plugin
 [WARNING]: Found both group and host with same name: lb

META: ran handlers
<lb> ESTABLISH SSH CONNECTION FOR USER: vagrant
<lb> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/2302ac11ec lb '/bin/sh -c '"'"'echo ~vagrant && sleep 0'"'"''
<lb> (255, '', 'Permission denied (publickey).\r\n')
lb | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey).", 
    "unreachable": true
}

SOLUTION

D'accord, voici ce qui a fonctionné pour moi -
Je me suis connecté à la machine distante lb . modifié le ~/.ssh/authorised_keys et ajouté la clé id_rsa.pub du maître ansible. Enregistré et quitté. J'ai fait rebondir le sshd sur lb.

Ce n'est pas un moyen parfait, mais cela vous permet de commencer les tests initiaux.

Edit 1 - De plus, vous devez vous assurer que la machine distante (client qui sera gérée par ansible) doit avoir python installé.

PS - même la méthode ssh-copy-id -i échouait pour moi avec la même erreur d'autorisation refusée (clé publique)

vagrant@mgmt :~$ ansible lb -m ping -vvv
ansible 2.7.8
fichier de configuration = /home/vagrant/ansible.cfg
chemin de recherche de module configuré = [u'/home/vagrant/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
emplacement du module python ansible = /usr/lib/python2.7/dist-packages/ansible
emplacement de l'exécutable = /usr/bin/ansible
version python = 2.7.12 (par défaut, 12 novembre 2018, 14:36:49) [GCC 5.4.0 20160609]
Utilisation de /home/vagrant/ansible.cfg comme fichier de configuration
[AVERTISSEMENT DE DÉPRÉCATION] : option [defaults]hostfile, La clé est trompeuse car elle peut également être une liste d'hôtes, un répertoire ou une liste de chemins, utilisez [defaults] Inventory=/path/to/file|dir
plutôt. Cette fonctionnalité sera supprimée dans la version 2.8. Les avertissements de dépréciation peuvent être désactivés en définissant deprecation_warnings=False dans ansible.cfg.
/home/vagrant/inventory.ini n'a pas répondu aux exigences de host_list, vérifiez la documentation du plugin si cela est inattendu
/home/vagrant/inventory.ini n'a pas répondu aux exigences du script, vérifiez la documentation du plugin si cela est inattendu
/home/vagrant/inventory.ini n'a pas répondu aux exigences de yaml, vérifiez la documentation du plugin si cela est inattendu
Source d'inventaire /home/vagrant/inventory.ini analysée avec le plugin ini
[AVERTISSEMENT] : le groupe et l'hôte ont été trouvés avec le même nom : lb

META : managers exécutés
ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : aucune
SSH : EXEC ssh -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/vagrant/.ansible/cp/e51df67eb4 lb '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
(0, '/maison/vagabond\n', '')
ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : aucune
SSH : EXEC ssh -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/vagrant/.ansible/cp/e51df67eb4 lb '/bin/sh -c '"'"'( umask 77 && mkdir -p " echo /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286 " && echo ansible-tmp-1552670816.4-42574892310286 =" echo /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286 " ) && dormir 0'"'"''
(0, 'ansible-tmp-1552670816.4-42574892310286=/home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286\n', '')
Utilisation du fichier de module /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
METTRE /home/vagrant/.ansible/tmp/ansible-local-2173_L8KXK/tmpXoK8R8 À /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/AnsiballZ_ping.py
SSH : EXEC sftp -b - -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/vagrant/.ansible/cp/e51df67eb4 '[lb]'
(0, 'sftp> put /home/vagrant/.ansible/tmp/ansible-local-2173_L8KXK/tmpXoK8R8 /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/AnsiballZ_ping.py\n', ' ')
ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : aucune
SSH : EXEC ssh -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/vagrant/.ansible/cp/e51df67eb4 lb '/bin/sh -c '"'"'chmod u+x /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/ /home /vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/AnsiballZ_ping.py && sleep 0'"'"''
(0, '', '')
ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : aucune
SSH : EXEC ssh -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/vagrant/.ansible/cp/e51df67eb4 -tt lb '/bin/sh -c '"'"'/usr/bin/python /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4- 42574892310286/AnsiballZ_ping.py && dormir 0'"'"''
(0, '\r\n{"invocation": {"module_args": {"data": "pong"}}, "ping": "pong"}\r\n', 'Connexion partagée à lb fermée. \r\n')
ÉTABLIR UNE CONNEXION SSH POUR L'UTILISATEUR : aucune
SSH : EXEC ssh -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/vagrant/.ansible/cp/e51df67eb4 lb '/bin/sh -c '"'"'rm -f -r /home/vagrant/.ansible/tmp/ansible-tmp-1552670816.4-42574892310286/ > /dev/null 2>&1 && sleep 0'"'"''
(0, '', '')
livres | SUCCÈS => {
"changé": faux,
"invocation": {
"module_args": {
"données": "pong"
}
},
"ping pong"
}

Cette page vous a été utile?
0 / 5 - 0 notes