Ansible: Error al conectarse al host a través de ssh: Permiso denegado (clave pública, contraseña)

Creado en 20 dic. 2016  ·  70Comentarios  ·  Fuente: 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
}

Tengo este error, uso Debian Stretch y un invitado manjaro en virtualbox.

affects_2.3

Comentario más útil

Bien,
Es un poco difícil de depurar cuando especifica all en su comando.

Comente todas las líneas en su archivo hosts agregue esta línea

[webserver]
35.165.79.66 ansible_user=ubuntu 

e intenta ejecutar:

$: ansible webserver -m ping -vvv

Y muéstrame el resultado.
Saludos

Todos 70 comentarios

Frente al mismo problema. Siguiente.

¿Puede ejecutar el mismo comando con la opción -vvvv para obtener más resultados? por favor !

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'"'"'' 

Gracias.
De su salida, veo que no tiene ningún ansible_user especificado:

<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: None

¿También muestra el contenido de su archivo de inventario?

# 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

Se establecerá la conexión ssh

Bien,
Es un poco difícil de depurar cuando especifica all en su comando.

Comente todas las líneas en su archivo hosts agregue esta línea

[webserver]
35.165.79.66 ansible_user=ubuntu 

e intenta ejecutar:

$: ansible webserver -m ping -vvv

Y muéstrame el resultado.
Saludos

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
}

Cambié el disco de imagen en la caja virtual para que se haya regenerado la clave ssh pero a partir de este momento tengo un mensaje de error.

Usted me podría ayudar ?

Genere la clave ssh en el nodo principal:

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

Luego copie su clave pública a los servidores con 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]

Obtuve esta información en este sitio web https://valdhaus.co/writings/ansible-post-install/ y está funcionando

@ guruprasad85 parece que extrañas "python" en la máquina remota (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"
}

Hola,
He encontrado la solución.
Si está utilizando el sistema operativo ami (ubuntu 16), entonces no hay Python instalado, por lo que debe instalarlo. Utilice el siguiente comando para instalar Python -

sudo apt-get install python-minimal -y

o

necesitas usar el sistema operativo ami (ubuntu 14). Tiene python 2.7.

Nota: confirme qué versión del sistema operativo tiene en su sistema.

Me alegro de que hayas encontrado la solución.

Estoy tratando de hacer ping desde una máquina de control Ansible (instalada en una VM UBUNTU 14.04), a una instancia de cent OS.
Ambos son instancias en la nube de Google (con Python instalado).
No estoy seguro del estado de la conexión entre ellos. De los resultados a continuación de ansible all -m ping, pude ver que hay algo mal con mi 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
}

¿Podría sugerirme que logre la conexión entre mis máquinas virtuales?

Tengo el mismo problema @ganfotry . ¿Cuál es la causa de este problema? Por favor, dirígeme por el camino correcto.

Lo arreglé generando claves en ambas máquinas virtuales y luego copiando las claves
viceversa dentro de claves_autorizadas.
Entonces obtuve la respuesta a continuación :)

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

Estaba teniendo el mismo problema:

$ 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
}

Resolvió el problema instalando sshpass usando el comando:

sudo apt-get install sshpass

Después de instalar sshpass, ejecuté este comando:
json ansible local -m ping --ask-pass SSH password: 127.0.0.1 | SUCCESS => { "changed": false, "ping": "pong" }
¡¡¡Espero que esto ayude!!!

esto funcionó para mí, por lo que también puede ayudarlo.
Intente registrar la clave privada en su llavero

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

si esto funciona, intente agregar las claves a su archivo ~ / .ssh / config

Hola,
Recibo el siguiente error mientras ejecuto el comando en el modo GUI de torre 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 
}

Pero puedo obtener el resultado en modo CLI en el servidor.

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

A continuación se muestra la salida descrita

[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

Gracias

Intente acceder manualmente al servidor en la terminal, si puede ssh el servidor remoto, luego elimine el directorio .ansible del directorio de inicio del usuario local. Esto funciona para mi. (y)

¡Lo mismo para mi!
Puedo servidor ssh a través de la terminal sin pasar la directiva -i:

ssh [email protected]

obras

Ejecutando el comando:

ansible all -m ping

Me sale el error:

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

@lkjangir eliminar el directorio .ansible tampoco funcionó. = (

Pruebe esto, reemplace ec2-user con cualquier nombre de usuario que configure.

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

@aelkz : en el archivo / etc / ansible / hosts, puede poner: [email protected] lugar de server.com y luego probar ansible all -m ping .
De lo contrario, si no especificó el usuario1 en / etc / ansible / hosts, debe especificar el usuario en el comando ansible: ansible all -m ping -u user1
Tuve el mismo error y esa solución resolvió mi problema.

Si no me equivoco, esto se debe a un problema con la clave ssh. Rene rate para una nueva clave o convierta su clave a formato openssh para evitar errores.

El uso de --ask-pass junto con los parámetros -u funcionó para mí.

@ Hai-minhD Su solución funcionó para mí, gracias. Estaba probando en hosts donde tenía al usuario root como el mismo usuario que estaba usando en la máquina de control. En este host específico donde recibí el error informado anteriormente, tengo un usuario diferente. Resuelto agregando el host con este nombre de usuario en el archivo de hosts de Ansible: username @ host.

tratar-

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

Instalé Python en esclavo y funcionó para mí.

Tengo el mismo problema.
Encuentro una solución: agrego / etc / ansible / hosts:
ansible_ssh_user =ansible_ssh_pass =.

Espero que esto ayude.

Recibiendo un error. Aquí, shivslave es otra máquina virtual en Virtualbox con IP 192.168.0.5 y puedo conectarla con [email protected] con éxito, pero el comando Ansible no funciona. El archivo Host contiene

[ejemplo]192.168.0.5

shivmaster @ shivmaster-VirtualBox : ~ $ ansible ejemplo -m ping -u shivslave -vvv
ansible 2.4.1.0
archivo de configuración = /etc/ansible/ansible.cfg
ruta de búsqueda del módulo configurado = [u '/ home / shivmaster / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
Ubicación del módulo ansible python = /usr/lib/python2.7/dist-packages/ansible
ubicación ejecutable = / usr / bin / ansible
versión de python = 2.7.6 (predeterminado, 26 de octubre de 2016, 20:30:19) [GCC 4.8.4]
Usando /etc/ansible/ansible.cfg como archivo de configuración
Fuente de inventario analizada / etc / ansible / hosts con el complemento ini
META: manejadores corridos
Usando el archivo de módulo /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<192.168.0.5> ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: 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, '', 'Permiso denegado (clave pública, contraseña). \ R \ n')
192.168.0.5 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública, contraseña). \ r \ n",
"inalcanzable": verdadero
}
shivmaster @ shivmaster-VirtualBox : ~ $

@lktslionel
Tengo el mismo problema, he probado todas las opciones mencionadas anteriormente, ¿podría ayudarme aquí?

ansible 2.4.2.0
archivo de configuración = /etc/ansible/ansible.cfg
ruta de búsqueda del módulo configurado = [u '/ root / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
Ubicación del módulo ansible python = /usr/lib/python2.7/dist-packages/ansible
ubicación ejecutable = / usr / bin / ansible
versión de python = 2.7.12 (predeterminado, 20 de noviembre de 2017, 18:23:56) [GCC 5.4.0 20160609]
Usando /etc/ansible/ansible.cfg como archivo de configuración
se puede desactivar configurando deprecation_warnings = False en ansible.cfg.
configurar complementos de inventario
Fuente de inventario analizada / etc / ansible / hosts con el complemento ini
Cargando el complemento de devolución de llamada mínimo de tipo stdout, v2.0 desde /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc
META: manejadores corridos
Usando el archivo de módulo /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<10.0.3.36> ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: 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, basado en host, clave pública -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 1 de marzo de 2016 \ r \ ndebug1: Lectura de datos de configuración / etc / ssh / ssh_config \ r \ ndebug1: / etc / ssh / ssh_config línea 19: Aplicando opciones para \ r \ ndebug1: auto-mux: probando el maestro existente \ r \ ndebug1: Control socket "/root/.ansible/cp/c8171a76d6" no existe \ r \ ndebug2: resolviendo "10.0 .3.36 "puerto 22 \ r \ ndebug2: ssh_connect_direct: needpriv 0 \ r \ ndebug1: Conectando a 10.0.3.36 [10.0.3.36] puerto 22. \ r \ ndebug2: configuración de fd 3 O_NONBLOCK \ r \ ndebug1: borrado de fd 3 O_NONBLOCK \ r \ ndebug1: conexión establecida. \ r \ ndebug3: tiempo de espera: quedan 9996 ms después de la conexión \ r \ ndebug1: Permanent_set_uid: 0/0 \ r \ ndebug1: archivo de identidad /root/.ssh/id_rsa tipo 1 \ r \ ndebug1 : key_load_public: No existe ese archivo o directorio \ r \ ndebug1: archivo de identidad /root/.ssh/id_rsa-cert tipo -1 \ r \ ndebug1: key_load_public: No existe tal archivo o directorio \ r \ ndebug1: archivo de identidad / root /. ssh / id_dsa tipo -1 \ r \ ndebug1: key_load_public: No existe tal archivo o directorio \ r \ ndebug1: archivo de identidad /root/.s compresión: [email protected] \ r \ ndebug1: kex: cliente-> servidor de cifrado: [email protected] MAC:compresión: [email protected] \ r \ ndebug3: enviar paquete: tipo 30 \ r \ ndebug1: esperando SSH2_MSG_KEX_ECDH_REPLY \ r \ ndebug3: recibir paquete: tipo 31 \ r \ ndebug1: Clave de host del servidor: ecdsa-sha2-nistp256 SHA256 JDiSsUdyRJfRGvtqAURzMtKu / Ghp0adBt / l9VbvgDfg \ r \ ndebug3: hostkeys_foreach: lectura de archivo "/root/.ssh/known_hosts"\r\ndebug3: record_hostkey: tipo de clave encontrado ECDSA en el archivo:3ownrot_hosts. load_hostkeys: claves cargadas 1 de 10.0.3.36 \ r \ ndebug1: el host \ '10 .0.3.36 \ 'es conocido y coincide con la clave de host ECDSA. \ r \ ndebug1: clave encontrada en /root/.ssh/known_hosts:1\r \ ndebug3: enviar paquete: tipo 21 \ r \ ndebug2: set_newkeys: modo 1 \ r \ ndebug1: volver a introducir la clave después de 134217728 bloques \ r \ ndebug1: SSH2_MSG_NEWKEYS enviadas \ r \ ndebug1: esperando SSH2_MSG_NEWKEYB de tipo 3 de recepción: \ r: \ r \ ndebug2: set_newkeys: modo 0 \ r \ ndebug1: reintroducir después de 134217728 bloques \ r \ ndebug1: SSH2_MSG_NEWKEYS recibidos \ r \ ndebug2: clave: /root/.ssh/id_ecdsa (0x55cbdc34d840), agente : /root/.ssh/id_rsa (0x55cbdc33fc30) \ r \ ndebug 2: clave: /root/.ssh/id_dsa ((nil)) \ r \ ndebug2: clave: /root/.ssh/id_ed25519 ((nil)) \ r \ ndebug3: enviar paquete: tipo 5 \ r \ ndebug3: recibir paquete: escriba 7 \ r \ ndebug1: SSH2_MSG_EXT_INFO recibido \ r \ ndebug1: kex_input_ext_info: server-sig-algs =\ r \ ndebug3: recibir paquete: tipo 6 \ r \ ndebug2: service_accept: ssh-userauth \ r \ ndebug1: SSH2_MSG_SERVICE_ACCEPT recibido \ r \ ndebug3: enviar paquete: tipo 50 \ r \ ndebug3: recibir paquete: tipo 51 \ r \ ndebug1: autenticaciones que pueden continuar: clave pública, contraseña \ r \ ndebug3: volver a empezar, pasar una lista diferente clave pública, contraseña \ r \ ndebug3: gssapi-with-mic preferido, gssapi-keyex, basado en host, clave pública \ r \ ndebug3: authmethod_lookup publickey \ r \ ndebug3: siendo preferido:, gssapi-keyex, hostbased, publickey \ r \ ndebug3: authmethod_is_enabled publickey \ r \ ndebug1: Siguiente método de autenticación: publickey \ r \ ndebug1: Ofreciendo una clave pública ECDSA: /root/.ssh/ id_ecdsa \ r \ ndebug3: send_pubkey_test \ r \ ndebug3: enviar paquete: tipo 50 \ r \ ndebug2: enviamos un paquete de clave pública, esperar respuesta \ r \ ndebug3: recibir paquete: tipo 51 \ r \ ndebug1: Autenticaciones que pueden continuar : clave pública, contraseña \ r \ ndebug1: Ofreciendo clave pública RSA: /root/.ssh/id_rsa\r\ndebug3: send_pubkey_test \ r \ ndebug3: enviar paquete: tipo 50 \ r \ ndebug2: enviamos una clave pública paquete, espere respuesta \ r \ ndebug3: reciba paquete: escriba 51 \ r \ ndebug1: Autenticaciones que pueden continuar: clave pública, contraseña \ r \ ndebug1: Intentando clave privada: /root/.ssh/id_dsa\r\ndebug3: no tal identidad: /root/.ssh/id_dsa: no existe tal archivo o directorio \ r \ ndebug1: probando clave privada: /root/.ssh/id_ed25519\r\ndebug3: no existe tal identidad: /root/.ssh/id_ed25519: no dicho archivo o directorio \ r \ ndebug2: no enviamos un paquete, deshabilitar el método \ r \ ndebug1: No hay más métodos de autenticación para probar. \ r \ nPermiso denegado (clave pública, contraseña). \ r \ n ')
10.0.3.36 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 de marzo de 2016 \ r \ ndebug1: Leyendo datos de configuración / etc / ssh / ssh_config \ r \ ndebug1: / etc / ssh / ssh_config línea 19: Aplicando opciones para \ r \ ndebug1: auto-mux: probando el maestro existente \ r \ ndebug1: Control socket \ "/ root / .ansible / cp / c8171a76d6 \" no existe \ r \ ndebug2 : resolviendo \ "10.0.3.36 \" puerto 22 \ r \ ndebug2: ssh_connect_direct: needpriv 0 \ r \ ndebug1: Conectando a 10.0.3.36 [10.0.3.36] puerto 22. \ r \ ndebug2: configuración de fd 3 O_NONBLOCK \ r \ ndebug1: borrado de fd 3 O_NONBLOCK \ r \ ndebug1: Conexión establecida. \ r \ ndebug3: tiempo de espera: quedan 9996 ms después de la conexión \ r \ ndebug1: Permanent_set_uid: 0/0 \ r \ ndebug1: archivo de identidad /root/.ssh/id_rsa tipo 1 \ r \ ndebug1: key_load_public: No existe tal archivo o directorio \ r \ ndebug1: archivo de identidad /root/.ssh/id_rsa-cert tipo -1 \ r \ ndebug1: key_load_public: No existe tal archivo o directorio \ r \ ndebug1: archivo de identidad /root/.ssh/id_dsa tipo -1 \ r \ ndebug1: key_load_public: No existe tal archivo o directorio \ r \ nde compresión: [email protected] \ r \ ndebug1: kex: cliente-> servidor de cifrado: [email protected] MAC:compresión: [email protected] \ r \ ndebug3: enviar paquete: tipo 30 \ r \ ndebug1: esperando SSH2_MSG_KEX_ECDH_REPLY \ r \ ndebug3: recibir paquete: tipo 31 \ r \ ndebug1: Clave de host del servidor: ecdsa-sha2-nistp256 SHA256 JDiSsUdyRJfRGvtqAURzMtKu / Ghp0adBt / l9VbvgDfg \ r \ ndebug3: hostkeys_foreach: archivo de lectura \ "/ root / .ssh / known_hosts \" \ r \ ndebug3: record_hostkey: tipo de clave encontrada \ r \ ndebug3: record_hostkey: tipo de clave encontrada \ r \ ndebug3. ndebug3: load_hostkeys: claves cargadas 1 desde 10.0.3.36 \ r \ ndebug1: el host '10 .0.3.36 'es conocido y coincide con la clave de host ECDSA. \ r \ ndebug1: clave encontrada en /root/.ssh/known_hosts:1\r \ ndebug3: enviar paquete: tipo 21 \ r \ ndebug2: set_newkeys: modo 1 \ r \ ndebug1: volver a introducir la clave después de 134217728 bloques \ r \ ndebug1: SSH2_MSG_NEWKEYS enviadas \ r \ ndebug1: esperando SSH2_MSG_NEWKEYB de tipo 3 de recepción: \ r: \ r \ ndebug2: set_newkeys: modo 0 \ r \ ndebug1: reintroducir después de 134217728 bloques \ r \ ndebug1: SSH2_MSG_NEWKEYS recibidos \ r \ ndebug2: clave: /root/.ssh/id_ecdsa (0x55cbdc34d840), agente : /root/.ssh/id_rsa (0x55cbdc33fc30) \ r \ ndebug 2: clave: /root/.ssh/id_dsa ((nil)) \ r \ ndebug2: clave: /root/.ssh/id_ed25519 ((nil)) \ r \ ndebug3: enviar paquete: tipo 5 \ r \ ndebug3: recibir paquete: escriba 7 \ r \ ndebug1: SSH2_MSG_EXT_INFO recibido \ r \ ndebug1: kex_input_ext_info: server-sig-algs =\ r \ ndebug3: recibir paquete: tipo 6 \ r \ ndebug2: service_accept: ssh-userauth \ r \ ndebug1: SSH2_MSG_SERVICE_ACCEPT recibido \ r \ ndebug3: enviar paquete: tipo 50 \ r \ ndebug3: recibir paquete: tipo 51 \ r \ ndebug1: autenticaciones que pueden continuar: clave pública, contraseña \ r \ ndebug3: volver a empezar, pasar una lista diferente clave pública, contraseña \ r \ ndebug3: gssapi-with-mic preferido, gssapi-keyex, basado en host, clave pública \ r \ ndebug3: authmethod_lookup publickey \ r \ ndebug3: siendo preferido:, gssapi-keyex, hostbased, publickey \ r \ ndebug3: authmethod_is_enabled publickey \ r \ ndebug1: Siguiente método de autenticación: publickey \ r \ ndebug1: Ofreciendo una clave pública ECDSA: /root/.ssh/ id_ecdsa \ r \ ndebug3: send_pubkey_test \ r \ ndebug3: enviar paquete: tipo 50 \ r \ ndebug2: enviamos un paquete de clave pública, esperar respuesta \ r \ ndebug3: recibir paquete: tipo 51 \ r \ ndebug1: Autenticaciones que pueden continuar : clave pública, contraseña \ r \ ndebug1: Ofreciendo clave pública RSA: /root/.ssh/id_rsa\r\ndebug3: send_pubkey_test \ r \ ndebug3: enviar paquete: tipo 50 \ r \ ndebug2: enviamos una clave pública paquete, espere respuesta \ r \ ndebug3: reciba paquete: escriba 51 \ r \ ndebug1: Autenticaciones que pueden continuar: clave pública, contraseña \ r \ ndebug1: Intentando clave privada: /root/.ssh/id_dsa\r\ndebug3: no tal identidad: /root/.ssh/id_dsa: no existe tal archivo o directorio \ r \ ndebug1: probando clave privada: /root/.ssh/id_ed25519\r\ndebug3: no existe tal identidad: /root/.ssh/id_ed25519: no tal archivo o directorio \ r \ ndebug2: no enviamos un paquete, deshabilitar el método \ r \ ndebug1: No hay más métodos de autenticación para probar. \ r \ nPermiso denegado (clave pública, contraseña). \ r \ n ",
"inalcanzable": verdadero
}
root @ ip-172-31-31-140: ~ / .ssh #

Tuve el mismo problema, ansible intenta conectarse usando su nombre de usuario actual, por lo que mi forma de solucionarlo fue sobrescribir el nombre de usuario, por ejemplo:
ansible all -m ping -u ec2-user

Me enfrenté a dos errores mientras ejecutaba 'ansible all -m ping' y tropecé con este hilo para t-shoot. Quiero agradecer a todos por sus aportes, ya que me ayudaron a resolver esto.

: ERROR-1:
Pasos para corregir este mensaje: "msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública, contraseña). \ R \ n"
1) Modifiqué el archivo de configuración de arreglos en / etc / ansible / hosts para incluir el nombre de usuario adecuado 'ubuntu'
2) Pasé el argumento de '--private-key = / Users / my-user / .ssh / my-key.pem' por lo que el comando se veía así:
ansible all -m ping --private-key = / Users / my-user / .ssh / my-key.pem
Esta guía me informó sobre cómo pasar la clave como argumento:
https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/commands/

: ERROR 2:
"module_stdout": "/ bin / sh: 1: / usr / bin / python: no encontrado \ r \ n",
Para solucionarlo, ejecuté 'sudo apt-get update; sudo apt-get install python 'en el host remoto. Estoy usando una instancia ec2. Nota al margen, ejecutar los comandos de instalación como parte del script de inicio ayudaría a resolver el segundo problema.

¡Salud!

Parece que Python faltaba en nuestros servidores Ubuntu 16.04. Lo instalé en todos los hosts remotos y solucionó el problema:
sudo apt-get install python-minimal -y

SSH se conectará con terminales pero no con vsts y ansible, ¿alguien puede ayudarme?

Intentando configurar la conexión SSH a * @ 10.130.2.142: 22
2018-04-04T21: 56: 46.6533908Z
2018-04-04T21: 56: 46.6549162Z PLAY [todos] * * * * * * * * * * * * * * * * * * * * *
2018-04-04T21: 56: 46.6555625Z
2018-04-04T21: 56: 46.6603308Z
2018-04-04T21: 56: 46.6616154Z TAREA [Crear directorios] * * * * * * * * * * * * * * * *
2018-04-04T21: 56: 46.6622522Z
2018-04-04T21: 56: 46.8874071Z falló: [10.130.2.206] (item = / home / * / myagent /) => {"item": "/ home / * / myagent /", "msg": " Error al conectarse al host a través de ssh: Permiso denegado (clave pública). \ R \ n "," inalcanzable ": verdadero}
2018-04-04T21: 56: 46.8880968Z
2018-04-04T21: 56: 47.0341093Z falló: [10.130.2.206] (item = / home / * / mywork /) => {"item": "/ home / * / mywork /", "msg": " Error al conectarse al host a través de ssh: Permiso denegado (clave pública). \ R \ n "," inalcanzable ": verdadero}
2018-04-04T21: 56: 47.0349137Z
2018-04-04T21: 56: 47.0363780Z fatal: [10.130.2.206]: ¡inalcanzable! => {"cambiado": falso, "msg": "Todos los elementos completados", "resultados": [{"_ansible_ignore_errors": nulo, "_ansible_item_result": verdadero, "elemento": "/ home / * / myagent /" , "msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública). \ r \ n", "inalcanzable": verdadero}, {"_ansible_ignore_errors": null, "_ansible_item_result": verdadero, "elemento" : "/ home / * / mywork /", "msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública). \ r \ n", "inalcanzable": verdadero}]}
2018-04-04T21: 56: 47.0371817Z
2018-04-04T21: 56: 47.0387681Z para reintentar, use: --limit @ / tmp / Infrax / Agent_config.retry
2018-04-04T21: 56: 47.0397434Z
2018-04-04T21: 56: 47.0403265Z
2018-04-04T21: 56: 47.0415230Z RESUMEN DE JUEGO * * * * * * * * * * * * * * * * * * * * *
2018-04-04T21: 56: 47.0421749Z
2018-04-04T21: 56: 47.0434107Z 10.130.2.206: ok = 0 cambiado = 0 inaccesible = 1 fallido = 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] Comando ansible-playbook -i "10.130.2.206," /tmp/Infrax/Agent_config.yaml -b --become-user * salió con el código 4.
2018-04-04T21: 56: 47.0948275Z ## [sección] Acabado: Ejecutar el libro de jugadas

Cuando llegué a esto, estaba usando Ansible en OSX para conectarme a una caja aws con un certificado pem. NO tenía un archivo ~ / .ssh / config. Una vez que creé uno y no agregué más que esto:

Anfitrión *
IdentityFile ~ / .ssh / id_rsa
AddKeysToAgent sí

Entonces pude ejecutar mágicamente libros de jugadas.

Recibo el siguiente error al intentar copiar un archivo de la máquina de control a un nodo.

COMANDO: sudo ansible dbservers -m copy -a "src = / etc / ansible / Taha dest = / etc / Taha"
Error:
52.186.71.70 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública, gssapi-keyex, gssapi-with-mic, contraseña, teclado interactivo). \ r \ n",
"inalcanzable": verdadero
}

Intenté todos los pasos enumerados anteriormente, pero todavía no tuve éxito ...

intente pasar el archivo de inventario y la clave ssh con un nombre de usuario. No tengo ningún usuario definido en el inventario de los nodos, así que paso con el comando y siempre me funciona. entonces el comando será así:

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

Gracias Lokesh por la ayuda ...

Como soy nuevo en ansible, solo quiero saber dónde puedo guardar el archivo pem en el servidor de control. ¿Necesito hacer cambios en el archivo de inventario?

t Hola chicos,
Yo tuve el mismo problema.
Mi usuario de devops podía enviar ssh a todos los servidores, pero cuando intenté ejecutar, (con mysuer), los comandos ansible siempre recibía el error ... ¡INALCANZABLE! ...
Lo resolví haciendo, con "mysuer" ssh serverDestiny (el servidor que está en el archivo de inventario), tenga en cuenta que si usa fqdn debe convertir ssh en el FQDN.
ejemplo:
inventario de gatos
servidor 1

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

Espero que esto te ayudará.
si es así, dale un me gusta 👍
Gracias,
MBrito

10.20.2.42
ansibleclient.com

[root @ansibleserver ~] # ansible all -m ping
10.20.2.42 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública, gssapi-keyex, gssapi-with-mic, contraseña). \ r \ n",
"inalcanzable": verdadero
}
ansibleclient.com | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública, contraseña). \ r \ n",
"inalcanzable": verdadero
}
[ root @ ansibleserver ~] #

Por favor, ayúdame con este problema. Supongo que necesitamos crear la clave ssh. Cómo crear un proceso paso a paso. Por favor, no soy un experto.

Amablemente ayuda

Esto se soluciona agregando generar la clave ssh al servidor y copiando la misma al cliente

Comandos:

$ ssh-keygen -t rsa

Pulsa Enter

$ cd root /
$ la -la

copiar id_rsa.pub a la máquina virtual de destino
VM de destino $ ssh-copy-id

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

parece funcionar

Esta URL es el número 1 de Google para este error, por lo que, aunque este "problema" está cerrado, la gente seguirá haciéndolo en el futuro previsible. Así es como lo arreglé para python3 , ansible 2.5 (ambas son versiones PIP, en un virutualenv) y OSX High Sierra.
Informar de mi "solución", para mi escenario. Corriendo:
$ python3 $ (que ansible) localhost -m ping -vvvv

Resultaría en este error. -vvvv revela que es una falla de clave / autenticación. Estupendo. Puede aislar Ansible de esto simplemente haciendo [email protected] y para mí falló (estoy considerando que una falla al iniciar sesión con claves SSH es una falla).

Solución fácil: at ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Tuve el mismo problema y consigo la solución por mí mismo, les diré lo que me está pasando.
Recibo el mismo error y lo resuelvo cz en la misma carpeta del proyecto. Tenía un archivo de hosts, y por alguna razón, hubo un error, así que solo con un rm -r hosts, lo resolví.
Te lo expongo si tienes el mismo problema que yo.

Feliz Navidad X), xoxo.

Tuve el mismo problema hasta que edité mi archivo de inventario con
[testserver]
<target_ip> ansible_user=<target_domain_name> ansible_ssh_pass=<target_pass>
Luego para probar:
ansible testserver -m ping

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

Play [webservers] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **

TAREA [Datos Gathering] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal: [54.153.119.230]: ¡inalcanzable! => {"cambiado": falso, "msg": "No se pudo conectar al host a través de ssh: no existe tal identidad: /root/UbuntuAnsible.pem: No existe tal archivo o directorio \ r \ nPermiso denegado (clave pública). \ r \ n "," inalcanzable ": verdadero}
para reintentar, use: --limit @ / etc / ansible / tomserver.retry

por favor ayuda

¿Estás intentando simplemente conectarte? ¿Cómo se ve su archivo de hosts?

El miércoles 12 de septiembre de 2018, FALCON-SJSU [email protected]
escribió:

fatal: [54.153.119.230]: ¡inalcanzable! => {"cambiado": falso, "msg": "Fallido
para conectarse al host a través de ssh: no hay tal identidad: /root/UbuntuAnsible.pem:
No existe tal archivo o directorio \ r \ nPermiso denegado (clave pública). \ R \ n ",
"inalcanzable": verdadero}
para reintentar, use: --limit @ / etc / ansible / tomserver.retry

por favor ayuda

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-420827308 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/An-8H0G3NUSkpFXpcm2hkAXXGco3eMmyks5uaZO0gaJpZM4LSWpz
.

He encontrado la solución.
Mi sistema operativo era Mac OS, y cambio el 'ansible.cfg' en la línea 'remote_user = root', el problema está resuelto.

¡Sip! ¡Yo tuve que hacer lo mismo! ¡Me alegro de que lo hayas resuelto!

El martes 18 de septiembre de 2018 a las 4:09 a. M. ZhangZhongyuan [email protected]
escribió:

He encontrado la solución.
Mi sistema operativo era Mac OS y cambio el 'ansible.cfg' en el
línea 'remote_user = root', el problema está resuelto.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-422297005 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/An-8H0zGJ4zE4mKmaMtXDAtInZNDlrW4ks5ucKpCgaJpZM4LSWpz
.

Ejecuté el libro de jugadas con las siguientes banderas:

ansible-playbook playbook.yml --ask-pass - esto ayudó.

En los hosts también puede hacer ansibleuser = "user" ansiblepass = "pass" right
junto a la ip del objetivo. Esto me permite ejecutar libros de juegos sin ningún tipo de
solicitudes de contraseña adicionales.

El martes 2 de octubre de 2018 a las 11:15 a. M., Jluntnscc [email protected] escribió:

Ejecuté el libro de jugadas con las siguientes banderas:

ansible-playbook playbook.yml --ask-pass - esto ayudó.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-426312089 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/An-8HzRVj8-BqcUiQywgQYKIVbcr4yzdks5ug4MEgaJpZM4LSWpz
.

prueba esto

todos los servidores: funciona cuando el nombre de usuario del servidor y del cliente es el mismo (sin contraseña)

ansible all -m ping

todos los servidores: "raj" es el usuario del nodo administrado (sin contraseña)

ansible all -u raj -m ping

O

Solo grupo de servidores de demostración: "raj" es el usuario del nodo administrado (sin contraseña)

servidores de demostración ansible -u raj -m ping

O

Si usa autenticación de contraseña

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

o puede seguir este enlace para obtener más información
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-part-1.html

Lo que funcionó para mí fue actualizar mi archivo de hosts para tener la ruta a la clave ssh:

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

Buena solucion. ¡Esto se haría cargo de múltiples objetivos!

El lunes, 29 de octubre de 2018 a las 4:02 p.m., fhackenb [email protected] escribió:

Lo que funcionó para mí fue actualizar mi archivo de hosts para tener la ruta al ssh
llave:

[Servidor web]
DIRECCIÓN_IP ansible_user = ubuntu ansible_connection = ssh ansible_private_key_file = ~ / .ssh / key.pem

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-434057611 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/An-8HzLY4PQVaWdPDOH0bHGnh9xpzmDWks5up17AgaJpZM4LSWpz
.

funcionando bien después de la solución @ riteshpuj2013 .

ansible-playbook test.yml --ask-pass

Recibo este problema, no estoy seguro de cómo progresar.

[email protected] | Inalcanzable! => {
"cambiado": falso,
"msg": "Error de autenticación o permiso. En algunos casos, es posible que haya podido autenticarse y no tenía permisos en el directorio de destino. Considere cambiar la ruta tmp remota en ansible.cfg a una ruta enraizada en \" / tmp \ ". El comando fallido fue: (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 \ "), salió con el resultado 1 ",
"inalcanzable": verdadero
}

capaz de ejecutar el libro de jugadas con ansible pero al ejecutar el mismo libro de jugadas con ansible tower obteniendo un error


<192.168.0.17> ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: 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, '', "Advertencia: Se agregó permanentemente '192.168.0.17' (ECDSA) a la lista de hosts conocidos. \ R \ nPermiso denegado (clave pública, gssapi-keyex, gssapi-with-mic, contraseña ). \ r \ n ")
fatal: [192.168.0.17]: ¡INALCANZABLE! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: Advertencia: Se agregó permanentemente '192.168.0.17' (ECDSA) a la lista de hosts conocidos. \ r \ nPermiso denegado (publickey, gssapi-keyex, gssapi-with-mic , contraseña). \ r \ n ","inalcanzable": verdadero
}

Tengo este problema, por favor, dame una solución.

ubuntu @master: ~ $ ansible-libro de jugadas playbook2.yml -b PLAY [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * la tarea [Datos Gathering] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal: [172.31.42.20]: ¡inalcanzable! => {"cambiado": falso, "msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública, contraseña). \ r \ n", "inalcanzable": verdadero}
Para volver a intentar, utilice: --limit @ / home / ubuntu / playbook2.retry JUEGO CRÓNICA * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

172.31.42.20: ok = 0 cambiado = 0 inaccesible = 1 fallido = 0

Tengo este problema, por favor, dame una solución.

ubuntu @ master : ~ $ ansible-libro de jugadas playbook2.yml -b PLAY [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * la tarea [Datos Gathering] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

fatal: [172.31.42.20]: ¡inalcanzable! => {"cambiado": falso, "msg": "No se pudo conectar al host a través de ssh: Permiso denegado (clave pública, contraseña). \ r \ n", "inalcanzable": verdadero}
Para volver a intentar, utilice: --limit @ / home / ubuntu / playbook2.retry JUEGO CRÓNICA * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
172.31.42.20: ok = 0 cambiado = 0 inaccesible = 1 fallido = 0

Tenemos dos soluciones: -

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)

Configure la conexión SSH a la máquina host y pruébela.
Una vez hecho esto, en el archivo / etc / ansible / hosts ingrese la IP de host adecuada.
Ahora, para probar la conexión segura entre ansible y la máquina invitada, use el siguiente comando:
-> ansible -i hosts -u vagrant --ask-pass -m ping a todos
hosts-> archivo hosts (proporcione la IP de invitado adecuada)
-u vagrant -> vagrant es el nombre de usuario de mi máquina invitada
--ask-pass-> Le permite ingresar la contraseña SSH para conectarse al m / c invitado.
Nota: Si no uso --ask-pass arrojará un error.

Gracias si ayuda :)

es muy posible que su / etc / ansible / hosts esté equivocado

Soy nuevo en Ansible, ¿alguien puede ayudarme?

34.201.109.32 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: [email protected] : Permiso denegado (
"inalcanzable": verdadero
}

Intente incluir la contraseña de su máquina de destino dentro de su archivo de hosts.
Por lo general, necesitará tener una conexión ssh existente que
genera una clave RSA para su host y su máquina local. Prueba ssh en el
host luego ejecute ansible nuevamente.

El domingo 20 de enero de 2019 a las 11:22 a. M. Venkata Bhanusree Vadlamudi <
[email protected]> escribió:

Soy nuevo en Ansible, ¿alguien puede ayudarme?

34.201.109.32 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: [email protected] :
Permiso denegado (clave pública). \ R \ n ",
"inalcanzable": verdadero
}

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455880089 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/An-8H0nPfSdUELQxzoQAvvHHlsau7uyBks5vFJfOgaJpZM4LSWpz
.

Cuando uso el comando ssh desde mi terminal local, puedo conectarme a la instancia ec2. Sin embargo, cuando ejecuto el script ansible, aparece el error.

34.201.109.32 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: [email protected] : Permiso denegado (
"inalcanzable": verdadero
}

Con las instancias de AWS ec2, debe generar una clave pública a través de AWS,
descárguelo y apunte la sesión ssh a esa clave. Hay tutoriales para
este procedimiento en línea.

El domingo 20 de enero de 2019 a las 4:48 p.m. Venkata Bhanusree Vadlamudi <
[email protected]> escribió:

Cuando uso el comando ssh desde mi terminal local, no puedo conectarme
a la instancia ec2. Sin embargo, cuando ejecuto el script ansible, aparece el error.

34.201.109.32 | Inalcanzable! => {
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: [email protected] :
Permiso denegado (clave pública). \ R \ n ",
"inalcanzable": verdadero
}

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455905472 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/An-8Hya_SkLrHT-HLYEOPEE2QXsSuDOJks5vFOQOgaJpZM4LSWpz
.

t Hola chicos,
Yo tuve el mismo problema.
Mi usuario de devops podía enviar ssh a todos los servidores, pero cuando intenté ejecutar, (con mysuer), los comandos ansible siempre recibía el error ... ¡INALCANZABLE! ...
Lo resolví haciendo, con "mysuer" ssh serverDestiny (el servidor que está en el archivo de inventario), tenga en cuenta que si usa fqdn debe convertir ssh en el FQDN.
ejemplo:
inventario de gatos
servidor 1

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

Espero que esto te ayudará.
si es así, dale un me gusta 👍
Gracias,
MBrito

Esto solucionó mi problema en AWS en VPC privada, necesito el fqdn interno para todos los servidores

Hola chicos,
Estaba enfrentando el mismo problema para localhost y me di cuenta de que '$ ssh localhost' estaba solicitando una contraseña. Lo resolví moviendo la clave pública de 'usuario' en localhost a la clave autorizada.

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

Solo verifique si los archivos autorizados_key tienen las claves necesarias

prueba es el nombre de usuario

Vaya ... Leí los comentarios. No puedo creer que los problemas sigan existiendo. Estoy en el último ansible. Supongo que este es uno de los problemas de usar código abierto.

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
}

SOLUCIÓN

Muy bien, esto es lo que funcionó para mí:
Me conecté a la máquina remota lb. editó ~ / .ssh / authorised_keys y agregó la clave id_rsa.pub del maestro ansible. Salvado y salido. Rebotó el sshd en lb.

Esta no es una manera perfecta, pero lo pone en marcha para las pruebas iniciales.

Edición 1: también, debe asegurarse de que la máquina remota (cliente que será administrado por ansible) debe tener Python instalado.

PD: incluso el método de ssh-copy-id -i me estaba fallando con el mismo error de permiso denegado (clave pública)

vagabundo @ mgmt : ~ $ ansible lb -m ping -vvv
ansible 2.7.8
archivo de configuración = /home/vagrant/ansible.cfg
ruta de búsqueda del módulo configurado = [u '/ home / vagrant / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
Ubicación del módulo ansible python = /usr/lib/python2.7/dist-packages/ansible
ubicación ejecutable = / usr / bin / ansible
Python versión = 2.7.12 (predeterminado, 12 de noviembre de 2018, 14:36:49) [GCC 5.4.0 20160609]
Usando /home/vagrant/ansible.cfg como archivo de configuración
[ADVERTENCIA DE DEPRECATION]: [por defecto] opción de archivo de host, la clave es engañosa ya que también puede ser una lista de hosts, un directorio o una lista de rutas, use [por defecto] inventario = / ruta / a / archivo | dir
en lugar de. Esta función se eliminará en la versión 2.8. Las advertencias de obsolescencia se pueden desactivar configurando deprecation_warnings = False en ansible.cfg.
/home/vagrant/inventory.ini no cumplió con los requisitos de host_list, verifique la documentación del complemento si esto es inesperado
/home/vagrant/inventory.ini no cumplió con los requisitos del script, verifique la documentación del complemento si esto es inesperado
/home/vagrant/inventory.ini no cumplió con los requisitos de yaml, verifique la documentación del complemento si esto es inesperado
Fuente de inventario analizada /home/vagrant/inventory.ini con el complemento ini
[ADVERTENCIA]: Se encontraron grupos y hosts con el mismo nombre: lb

META: manejadores corridos
ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: Ninguna
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, '/ hogar / vagabundo \ n', '')
ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: Ninguna
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', '')
Usando el archivo de módulo /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
PUT /home/vagrant/.ansible/tmp/ansible-local-2173_L8KXK/tmpXoK8R8 TO /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 ')
ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: Ninguna
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, '', '')
ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: Ninguna
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 && sleep 0 '"'" ''
(0, '\ r \ n {"invocation": {"module_args": {"data": "pong"}}, "ping": "pong"} \ r \ n', 'Conexión compartida a lb cerrada. \ r \ n ')
ESTABLEZCA LA CONEXIÓN SSH PARA EL USUARIO: Ninguna
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 && dormir 0 '"'" ''
(0, '', '')
lb | ÉXITO => {
"cambiado": falso,
"invocación": {
"module_args": {
"datos": "pong"
}
},
"ping pong"
}

¿Fue útil esta página
0 / 5 - 0 calificaciones