Ansible: Falha ao conectar ao host via ssh: permissão negada (chave pública, senha)

Criado em 20 dez. 2016  ·  70Comentários  ·  Fonte: 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
}

Eu tenho este erro, uso o Debian Stretch e um convidado manjaro no virtualbox.

affects_2.3

Comentários muito úteis

Boa,
É um pouco difícil depurar quando você especifica all em seu comando.

Comente todas as linhas em seu arquivo hosts adicione esta linha

[webserver]
35.165.79.66 ansible_user=ubuntu 

e tente executar:

$: ansible webserver -m ping -vvv

E me mostre a saída.
Cumprimentos

Todos 70 comentários

Enfrentando o mesmo problema. Segue.

Você pode lançar o mesmo comando com a opção -vvvv para obter mais 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'"'"'' 

Obrigado.
Pela sua saída, vejo que você não tem nenhum ansible_user especificado:

<35.165.79.66> ESTABLISH SSH CONNECTION FOR USER: None

Cat você mostra o conteúdo do seu arquivo de inventário também?

# 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

conexão ssh [email protected] será estabelecida. mas o comando ansible não pode ser concluído.

Boa,
É um pouco difícil depurar quando você especifica all em seu comando.

Comente todas as linhas em seu arquivo hosts adicione esta linha

[webserver]
35.165.79.66 ansible_user=ubuntu 

e tente executar:

$: ansible webserver -m ping -vvv

E me mostre a saída.
Cumprimentos

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
}

Mudei o disco de imagem na caixa virtual para que a chave ssh tenha sido regenerada, mas a partir deste momento eu tenho uma mensagem de erro.

Você poderia me ajudar ?

Gere a chave SSH no nó mestre:

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

Em seguida, copie sua chave pública para os servidores com 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]

Consegui essas informações neste site https://valdhaus.co/writings/ansible-post-install/ e está funcionando

@ guruprasad85 parece que você sente falta de "python" na 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"
}

Oi,
Eu encontrei a solução.
Se você estiver usando o sistema operacional ami (ubuntu 16), não há python instalado, então você precisa instalá-lo. Use o comando abaixo para instalar o python -

sudo apt-get install python-minimal -y

ou

você precisa usar o sistema operacional ami (ubuntu 14). Possui o python 2.7.

Nota: confirme qual versão do sistema operacional você tem em seu sistema.

Que bom que você encontrou a solução.

Estou tentando fazer o ping de uma máquina de controle Ansible (instalada em uma VM UBUNTU 14.04) para uma instância do sistema operacional cent.
Ambos são instância do Google Cloud (com python instalado).
Não tenho certeza sobre o status da conexão entre eles. A partir dos resultados abaixo do ansible all -m ping, pude ver que há algo errado com meu 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
}

Você poderia me sugerir para conseguir a conexão entre minhas VMs.

Estou tendo o mesmo problema @ganfotry . Qual é a causa deste problema? Por favor, me direcione o caminho certo.

Corrigi-lo gerando chaves em ambas as VMs e, em seguida, copiando as chaves
viceversa dentro de authorized_keys.
Recebi a resposta abaixo então :)

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

Eu estava tendo o mesmo 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
}

Resolvido o problema instalando sshpass usando o comando:

sudo apt-get install sshpass

Após instalar o sshpass, executei este comando:
` json ansible local -m ping --ask-pass SSH password: 127.0.0.1 | SUCCESS => { "changed": false, "ping": "pong" }
Espero que isto ajude!!!

isso funcionou para mim, então pode ajudá-lo também.
Tente registrar a chave privada no seu chaveiro

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

se funcionar, tente adicionar as chaves ao arquivo ~ / .ssh / config

Oi,
Estou recebendo o erro abaixo ao executar o comando no modo GUI da 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 
}

Mas consigo obter o resultado no modo CLI no servidor.

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

Abaixo está a saída 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

Obrigado

Tente acessar manualmente o servidor no terminal, se você conseguir fazer o ssh do servidor remoto, remova o diretório .ansible do diretório inicial do usuário local. Isso funciona para mim. (y)

O mesmo para mim!
Posso fazer ssh no servidor via terminal sem passar a diretiva -i:

ssh [email protected]

funciona

Executando o comando:

ansible all -m ping

Recebo o erro:

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

@lkjangir remover o diretório .ansible também não funcionou. = (

Tente isso, substitua ec2-user por qualquer nome de usuário que você configurou.

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

@aelkz : no arquivo / etc / ansible / hosts, você pode colocar: [email protected] vez de server.com e então tentar ansible all -m ping .
Caso contrário, se você não especificou o usuário1 em / etc / ansible / hosts, você deve especificar o usuário no comando ansible: ansible all -m ping -u user1
Eu tive o mesmo erro e essa solução resolveu meu problema.

Se não estou errado, isso é devido a um problema de chave ssh. Rene taxa para nova chave ou então converta sua chave para formato openssh para evitar erros.

Usar --ask-pass junto com os parâmetros -u funcionou para mim.

@ Hai-minhD Sua solução funcionou para mim, obrigado. Eu estava testando em hosts onde tinha o usuário root como o mesmo usuário que estava usando na máquina de controle. Neste host específico em que estava obtendo a falha relatada acima, tenho um usuário diferente. Resolvido adicionar o host com este nome de usuário no arquivo Ansible hosts: username @ host.

experimentar-

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

Python instalado no escravo e funcionou para mim.

Eu tenho o mesmo problema.
Encontro a solução: adiciono / etc / ansible / hosts:
ansible_ssh_user =ansible_ssh_pass =.

Espero que isto ajude.

Obtendo um erro. Aqui, shivslave é outra VM no Virtualbox com IP 192.168.0.5 e posso conectá-la com [email protected] com êxito, mas o comando Ansible não está funcionando. O arquivo Host contém

[exemplo]192.168.0.5

shivmaster @ shivmaster-VirtualBox : ~ $ ansible exemplo -m ping -u shivslave -vvv
ansible 2.4.1.0
arquivo de configuração = /etc/ansible/ansible.cfg
caminho de pesquisa de módulo configurado = [u '/ home / shivmaster / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
localização do executável = / usr / bin / ansible
versão do python = 2.7.6 (padrão, 26 de outubro de 2016, 20:30:19) [GCC 4.8.4]
Usando /etc/ansible/ansible.cfg como arquivo de configuração
Fonte de inventário / etc / ansible / hosts analisada com o plugin ini
META: manipuladores executados
Usando o arquivo de módulo /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<192.168.0.5> ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: shivslave
<192.168.0.5> SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentifications = 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, '', 'Permissão negada (chave pública, senha). \ R \ n')
192.168.0.5 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: permissão negada (chave pública, senha). \ r \ n",
"inacessível": verdadeiro
}
shivmaster @ shivmaster-VirtualBox : ~ $

@lktslionel
Estou tendo o mesmo problema, tentei todas as opções mencionadas acima, você poderia ajudar aqui

ansible 2.4.2.0
arquivo de configuração = /etc/ansible/ansible.cfg
caminho de pesquisa do módulo configurado = [u '/ root / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
localização do executável = / usr / bin / ansible
versão do python = 2.7.12 (padrão, 20 de novembro de 2017, 18:23:56) [GCC 5.4.0 20160609]
Usando /etc/ansible/ansible.cfg como arquivo de configuração
pode ser desabilitado definindo deprecation_warnings = False em ansible.cfg.
configurando plug-ins de inventário
Fonte de inventário / etc / ansible / hosts analisada com o plugin ini
Carregando plug-in de retorno de chamada mínimo do tipo stdout, v2.0 de /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc
META: manipuladores executados
Usando o arquivo de módulo /usr/lib/python2.7/dist-packages/ansible/modules/system/ping.py
<10.0.3.36> ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: 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 PreferredAuthentifications = 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 ~ && sleep 0 '"'" ''
<10.0.3.36> (255, '', 'OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 de março de 2016 \ r \ ndebug1: Lendo dados de configuração / etc / ssh / ssh_config \ r \ ndebug1: / etc / ssh / ssh_config linha 19: Aplicando opções para \ r \ ndebug1: auto-mux: Tentando mestre existente \ r \ ndebug1: Soquete de controle "/root/.ansible/cp/c8171a76d6" não existe \ r \ ndebug2: resolvendo "10.0 .3.36 "porta 22 \ r \ ndebug2: ssh_connect_direct: needpriv 0 \ r \ ndebug1: Conectando a 10.0.3.36 [10.0.3.36] porta 22. \ r \ ndebug2: fd 3 configuração O_NONBLOCK \ r \ ndebug1: fd 3 limpando O_NONBLOCK \ r \ ndebug1: Conexão estabelecida. \ r \ ndebug3: tempo limite: 9996 ms permanecem após conectar \ r \ ndebug1: permanent_set_uid: 0/0 \ r \ ndebug1: arquivo de identidade /root/.ssh/id_rsa tipo 1 \ r \ ndebug1 : key_load_public: Nenhum arquivo ou diretório \ r \ ndebug1: arquivo de identidade /root/.ssh/id_rsa-cert type -1 \ r \ ndebug1: key_load_public: Nenhum arquivo ou diretório \ r \ ndebug1: arquivo de identidade / root /. ssh / id_dsa type -1 \ r \ ndebug1: key_load_public: Não existe esse arquivo ou diretório \ r \ ndebug1: arquivo de identidade /root/.s compressão: [email protected] \ r \ ndebug1: kex: cliente-> cifra do servidor: [email protected] MAC:compressão: [email protected] \ r \ ndebug3: enviar pacote: tipo 30 \ r \ ndebug1: esperando SSH2_MSG_KEX_ECDH_REPLY \ r \ ndebug3: receber pacote: tipo 31 \ r \ ndebug1: Chave de host do servidor: ecdsa-sha2-nistp256 SHA256: JDiSsUdyRJfRGvtqAURzMtKu / Ghp0adBt / l9VbvgDfg \ r \ ndebug3: hostkeys_foreach: lendo o arquivo "/root/.ssh/known_hosts"\r\ndebug3: record_hostndkey: encontrado tipo de chave ECDSA em arquivo /rot\ndkey.sconhecida3: \ shug \\ load_hostkeys: 1 chave carregada de 10.0.3.36 \ r \ ndebug1: Host \ '10 .0.3.36 \ 'é conhecido e corresponde à chave de host ECDSA. \ r \ ndebug1: chave encontrada em /root/.ssh/known_hosts:1\r \ ndebug3: enviar pacote: digite 21 \ r \ ndebug2: set_newkeys: modo 1 \ r \ ndebug1: rekey após 134217728 blocos \ r \ ndebug1: SSH2_MSG_NEWKEYS enviado \ r \ ndebug1: esperando SSH2_MSG_NEWKEYS \ r \ ndebug3: tipo de pacote 21 \ r \ ndebug2: set_newkeys: modo 0 \ r \ ndebug1: recodificação após 134217728 blocos \ r \ ndebug1: SSH2_MSG_NEWKEYS recebidos \ r \ ndebug2: chave: /root/.ssh/id_ecdsa (0x55cbdc34d840), agente \ r \ ndebug2 : /root/.ssh/id_rsa (0x55cbdc33fc30) \ r \ ndebug 2: key: /root/.ssh/id_dsa ((nil)) \ r \ ndebug2: key: /root/.ssh/id_ed25519 ((nil)) \ r \ ndebug3: enviar pacote: digite 5 \ r \ ndebug3: receber pacote: digite 7 \ r \ ndebug1: SSH2_MSG_EXT_INFO recebido \ r \ ndebug1: kex_input_ext_info: server-sig-algs =\ r \ ndebug3: receber pacote: tipo 6 \ r \ ndebug2: service_accept: ssh-userauth \ r \ ndebug1: SSH2_MSG_SERVICE_ACCEPT recebido \ r \ ndebug3: enviar pacote: tipo 50 \ r \ ndebug3: receber pacote: tipo 51 \ r \ ndebug1: Autenticações que podem continuar: publickey, senha \ r \ ndebug3: reiniciar, passou uma lista diferente publickey, senha \ r \ ndebug3: gssapi-with-mic, gssapi-keyex preferencial, baseado em host, publickey \ r \ ndebug3: authmethod_lookup publickey \ r \ ndebug3: restante preferencial:, gssapi-keyex, baseado em host, publickey \ r \ ndebug3: authmethod_is_enabled publickey \ r \ ndebug1: Próximo método de autenticação: publickey \ r \ ndebug1: chave pública ECDSA: /root/.ssh/ id_ecdsa \ r \ ndebug3: send_pubkey_test \ r \ ndebug3: enviar pacote: digite 50 \ r \ ndebug2: enviamos um pacote publickey, aguarde a resposta \ r \ ndebug3: receba pacote: digite 51 \ r \ ndebug1: Autenticações que podem continuar : publickey, password \ r \ ndebug1: Oferecendo chave pública RSA: /root/.ssh/id_rsa\r\ndebug3: send_pubkey_test \ r \ ndebug3: enviar pacote: digite 50 \ r \ ndebug2: enviamos uma chave pública pacote, aguarde a resposta \ r \ ndebug3: receber pacote: digite 51 \ r \ ndebug1: Autenticações que podem continuar: chave pública, senha \ r \ ndebug1: Tentando chave privada: /root/.ssh/id_dsa\r\ndebug3: não tal identidade: /root/.ssh/id_dsa: Nenhum arquivo ou diretório \ r \ ndebug1: Tentando chave privada: /root/.ssh/id_ed25519\r\ndebug3: nenhuma identidade: /root/.ssh/id_ed25519: Não tal arquivo ou diretório \ r \ ndebug2: não enviamos um pacote, desative o método \ r \ ndebug1: Não há mais métodos de autenticação para tentar. \ r \ nPermissão negada (chave pública, senha). \ r \ n ')
10.0.3.36 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 de março de 2016 \ r \ ndebug1: Lendo dados de configuração / etc / ssh / ssh_config \ r \ ndebug1: / etc / ssh / ssh_config linha 19: Aplicando opções para \ r \ ndebug1: auto-mux: Tentando master existente \ r \ ndebug1: Soquete de controle \ "/ root / .ansible / cp / c8171a76d6 \" não existe \ r \ ndebug2 : resolvendo \ "10.0.3.36 \" porta 22 \ r \ ndebug2: ssh_connect_direct: needpriv 0 \ r \ ndebug1: Conectando-se a 10.0.3.36 [10.0.3.36] porta 22. \ r \ ndebug2: fd 3 configuração O_NONBLOCK \ r \ ndebug1: fd 3 limpando O_NONBLOCK \ r \ ndebug1: Conexão estabelecida. \ r \ ndebug3: tempo limite: 9996 ms permanecem após conectar \ r \ ndebug1: permanent_set_uid: 0/0 \ r \ ndebug1: arquivo de identidade /root/.ssh/id_rsa tipo 1 \ r \ ndebug1: key_load_public: Nenhum arquivo ou diretório \ r \ ndebug1: arquivo de identidade /root/.ssh/id_rsa-cert type -1 \ r \ ndebug1: key_load_public: Nenhum arquivo ou diretório \ r \ ndebug1: arquivo de identidade /root/.ssh/id_dsa type -1 \ r \ ndebug1: key_load_public: Não existe esse arquivo ou diretório \ r \ nde compressão: [email protected] \ r \ ndebug1: kex: cliente-> cifra do servidor: [email protected] MAC:compressão: [email protected] \ r \ ndebug3: enviar pacote: tipo 30 \ r \ ndebug1: esperando SSH2_MSG_KEX_ECDH_REPLY \ r \ ndebug3: receber pacote: tipo 31 \ r \ ndebug1: Chave de host do servidor: ecdsa-sha2-nistp256 SHA256: JDiSsUdyRJfRGvtqAURzMtKu / Ghp0adBt / l9VbvgDfg \ r \ ndebug3: hostkeys_foreach: leitura de arquivo \ "/ root / .ssh / known_hosts \" \ r \ ndebug3: record_hostkey: chave_conhecida tipo ECDSA \known.sch / arquivo conhecido \ ndebug3 \ ndebug3 \ conhecido. ndebug3: load_hostkeys: 1 chave carregada de 10.0.3.36 \ r \ ndebug1: Host '10 .0.3.36 'é conhecido e corresponde à chave de host ECDSA. \ r \ ndebug1: chave encontrada em /root/.ssh/known_hosts:1\r \ ndebug3: enviar pacote: digite 21 \ r \ ndebug2: set_newkeys: modo 1 \ r \ ndebug1: rekey após 134217728 blocos \ r \ ndebug1: SSH2_MSG_NEWKEYS enviado \ r \ ndebug1: esperando SSH2_MSG_NEWKEYS \ r \ ndebug3: tipo de pacote 21 \ r \ ndebug2: set_newkeys: modo 0 \ r \ ndebug1: recodificação após 134217728 blocos \ r \ ndebug1: SSH2_MSG_NEWKEYS recebido \ r \ ndebug2: chave: /root/.ssh/id_ecdsa (0x55cbdc34d840), agente \ r \ ndebug2 : /root/.ssh/id_rsa (0x55cbdc33fc30) \ r \ ndebug 2: key: /root/.ssh/id_dsa ((nil)) \ r \ ndebug2: key: /root/.ssh/id_ed25519 ((nil)) \ r \ ndebug3: enviar pacote: digite 5 \ r \ ndebug3: receber pacote: digite 7 \ r \ ndebug1: SSH2_MSG_EXT_INFO recebido \ r \ ndebug1: kex_input_ext_info: server-sig-algs =\ r \ ndebug3: receber pacote: tipo 6 \ r \ ndebug2: service_accept: ssh-userauth \ r \ ndebug1: SSH2_MSG_SERVICE_ACCEPT recebido \ r \ ndebug3: enviar pacote: tipo 50 \ r \ ndebug3: receber pacote: tipo 51 \ r \ ndebug1: Autenticações que podem continuar: publickey, senha \ r \ ndebug3: recomeçar, passou uma lista diferente publickey, senha \ r \ ndebug3: gssapi-with-mic, gssapi-keyex preferencial, baseado em host, publickey \ r \ ndebug3: authmethod_lookup publickey \ r \ ndebug3: preferencial restante:, gssapi-keyex, baseado em host, publickey \ r \ ndebug3: authmethod_is_enabled publickey \ r \ ndebug1: Método de autenticação seguinte: publickey \ r \ ndebug1: Chave pública ECDSA: /root/.ssh/ id_ecdsa \ r \ ndebug3: send_pubkey_test \ r \ ndebug3: enviar pacote: digite 50 \ r \ ndebug2: enviamos um pacote de chave pública, aguarde a resposta \ r \ ndebug3: receba pacote: digite 51 \ r \ ndebug1: Autenticações que podem continuar : publickey, password \ r \ ndebug1: Oferecendo chave pública RSA: /root/.ssh/id_rsa\r\ndebug3: send_pubkey_test \ r \ ndebug3: enviar pacote: digite 50 \ r \ ndebug2: enviamos uma chave pública pacote, aguarde a resposta \ r \ ndebug3: receber pacote: digite 51 \ r \ ndebug1: Autenticações que podem continuar: publickey, senha \ r \ ndebug1: Tentando chave privada: /root/.ssh/id_dsa\r\ndebug3: não tal identidade: /root/.ssh/id_dsa: Nenhum arquivo ou diretório \ r \ ndebug1: Tentando chave privada: /root/.ssh/id_ed25519\r\ndebug3: nenhuma identidade: /root/.ssh/id_ed25519: Não tal arquivo ou diretório \ r \ ndebug2: não enviamos um pacote, desative o método \ r \ ndebug1: Não há mais métodos de autenticação para tentar. \ r \ nPermissão negada (chave pública, senha). \ r \ n ",
"inacessível": verdadeiro
}
root @ ip-172-31-31-140: ~ / .ssh #

Eu tive o mesmo problema, ansible tenta se conectar usando seu nome de usuário atual, então minha maneira de contornar isso foi sobrescrever o nome de usuário, por exemplo:
ansible all -m ping -u ec2-user

Eu enfrentei dois erros ao executar 'ansible all -m ping' e tropecei neste tópico para disparar. Quero agradecer a todos por suas contribuições, pois me ajudaram a descobrir isso.

: ERROR-1:
Passos para corrigir esta mensagem: "msg": "Falha ao conectar ao host via ssh: Permissão negada (chave pública, senha). \ R \ n"
1) Modifiquei o arquivo de configuração de correção em / etc / ansible / hosts para incluir o nome de usuário apropriado 'ubuntu'
2) Passei o argumento '--private-key = / Users / my-user / .ssh / my-key.pem', então o comando ficou assim:
ansible all -m ping --private-key = / Users / my-user / .ssh / my-key.pem
Este guia me informou sobre como passar a chave como um argumento:
https://ansible-tips-and-tricks.readthedocs.io/en/latest/ansible/commands/

: ERRO 2:
"module_stdout": "/ bin / sh: 1: / usr / bin / python: não encontrado \ r \ n",
Para corrigir, executei 'sudo apt-get update; sudo apt-get install python 'no host remoto. Estou usando uma instância ec2. Observação lateral: a execução dos comandos de instalação como parte do script de inicialização ajudaria a resolver o segundo problema.

Felicidades!

Parece que python estava faltando em nossos servidores Ubuntu 16.04. Eu instalei em todos os hosts remotos e corrigiu o problema:
sudo apt-get install python-minimal -y

SSH irá conectar com terminais, mas não com vsts e ansible, qualquer um pode me ajudar

Tentando configurar a conexão SSH para * @ 10.130.2.142: 22
04-04-2018T21: 56: 46.6533908Z
04-04-2018T21: 56: 46.6549162Z PLAY [todos] * * * * * * * * * * * * * * * * * * * * *
04-04-2018T21: 56: 46.6555625Z
04-04-2018T21: 56: 46.6603308Z
04-04-2018T21: 56: 46.6616154Z TAREFA [Criar diretórios] * * * * * * * * * * * * * * * * *
04-04-2018T21: 56: 46.6622522Z
04/04/2018 T21: 56: 46.8874071Z falhou: [10.130.2.206] (item = / home / * / myagent /) => {"item": "/ home / * / myagent /", "msg": " Falha ao conectar ao host via ssh: permissão negada (chave pública). \ R \ n "," inacessível ": verdadeiro}
04-04-2018T21: 56: 46.8880968Z
04-04-2018 T21: 56: 47.0341093Z falhou: [10.130.2.206] (item = / home / * / mywork /) => {"item": "/ home / * / mywork /", "msg": " Falha ao conectar ao host via ssh: permissão negada (chave pública). \ R \ n "," inacessível ": verdadeiro}
04-04-2018T21: 56: 47.0349137Z
2018-04-04T21: 56: 47.0363780Z fatal: [10.130.2.206]: INACESSÍVEL! => {"alterado": falso, "msg": "Todos os itens concluídos", "resultados": [{"_ansible_ignore_errors": null, "_ansible_item_result": true, "item": "/ home / * / myagent /" , "msg": "Falha ao conectar ao host via ssh: Permissão negada (publickey). \ r \ n", "unreachable": true}, {"_ansible_ignore_errors": null, "_ansible_item_result": true, "item" : "/ home / * / mywork /", "msg": "Falha ao conectar ao host via ssh: Permissão negada (chave pública). \ r \ n", "inacessível": true}]}
04-04-2018T21: 56: 47.0371817Z
04-04-2018T21: 56: 47.0387681Z para tentar novamente, use: --limit @ / tmp / Infrax / Agent_config.retry
04-04-2018T21: 56: 47.0397434Z
04-04-2018T21: 56: 47.0403265Z
04/04/2018T21: 56: 47.0415230Z REPRODUÇÃO DE REPRODUÇÃO * * * * * * * * * * * * * * * * * * * * *
04-04-2018T21: 56: 47.0421749Z
2018-04-04T21: 56: 47.0434107Z 10.130.2.206: ok = 0 alterado = 0 inacessível = 1 com falha = 0
04-04-2018T21: 56: 47.0440861Z
04-04-2018T21: 56: 47.0446720Z
04-04-2018T21: 56: 47.0452765Z
2018-04-04T21: 56: 47.0850279Z ## [erro] Comando ansible-playbook -i "10.130.2.206," /tmp/Infrax/Agent_config.yaml -b --become-user * saiu com o código 4.
04-04-2018T21: 56: 47.0948275Z ## [seção] Finalização: Executar manual

Quando cheguei a este ponto, estava usando o Ansible no OSX para conectar a uma caixa de aws com um certificado pem. Eu NÃO tinha um arquivo ~ / .ssh / config. Depois de criar um e adicionar não mais do que isto:

Hospedeiro *
IdentityFile ~ / .ssh / id_rsa
AddKeysToAgent sim

Então eu fui magicamente capaz de executar playbooks.

Estou recebendo o erro abaixo ao tentar copiar um arquivo da máquina de controle para um nó.

COMANDO: sudo ansible dbservers -m copy -a "src = / etc / ansible / Taha dest = / etc / Taha"
Erro:
52.186.71.70 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: permissão negada (publickey, gssapi-keyex, gssapi-with-mic, senha, teclado interativo). \ r \ n",
"inacessível": verdadeiro
}

Tentei todas as etapas listadas acima, mas sem sucesso ...

tente passar o arquivo de inventário e a chave ssh com um nome de usuário. Não tenho nenhum usuário definido no inventário para nós, então passo com o comando e sempre funciona para mim. então o comando será assim -

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

Obrigado Lokesh pela ajuda ...

Como sou novo no ansible, só quero saber onde posso salvar o arquivo pem no servidor de controle. eu preciso fazer alterações no arquivo de inventário?

t oi pessoal,
Eu tive o mesmo problema.
Meu usuário devops poderia ssh para todos os servidores, mas quando eu tentei executar, (com mysuer), comandos ansible eu sempre obtive o erro ... INACESSÍVEL! ...
Resolvi fazendo, com "mysuer" ssh serverDestiny (o servidor que está no arquivo de inventário) observe se você usar fqdn você deve fazer ssh para o FQDN.
exemplo:
inventário de gatos
servidor1

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

Espero que isso ajude você.
se sim, dê um like 👍
Obrigado,
MBrito

10.20.2.42
ansibleclient.com

[root @ansibleserver ~] # ansible all -m ping
10.20.2.42 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: permissão negada (publickey, gssapi-keyex, gssapi-with-mic, senha). \ r \ n",
"inacessível": verdadeiro
}
ansibleclient.com | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: permissão negada (chave pública, senha). \ r \ n",
"inacessível": verdadeiro
}
[ root @ ansibleserver ~] #

Por favor, me ajude sobre este problema .. acho que precisamos criar a chave ssh como criar o processo passo a passo, por favor, eu não sou especialista

Gentilmente ajuda

Isso é corrigido adicionando a chave de geração de ssh ao servidor e copiando a mesma para o cliente

Comandos:

$ ssh-keygen -t rsa

aperte enter

$ cd root /
$ la -la

copiar id_rsa.pub para destino vm
$ ssh-copy-id destination vm

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

parece funcionar

Este URL é o número 1 do Google para esse erro, portanto, embora esse "problema" seja resolvido, as pessoas continuarão a acertar no futuro previsível. Veja como eu consertei python3 , ansible 2.5 (ambas são versões PIP, em um virutualenv) e OSX High Sierra.
Relatando minha 'correção', para o meu cenário. Corrida:
$ python3 $ (which ansible) localhost -m ping -vvvv

Isso resultaria neste erro. -vvvv revela que é uma falha de chave / autenticação. Excelente. Você pode isolar o Ansible disso simplesmente fazendo [email protected] e, para mim, ele falhou (estou considerando uma falha ao fazer login com chaves SSH).

Correção fácil: at ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Eu tive o mesmo problema e consigo a solução sozinho, vou te contar o que está acontecendo comigo.
Recebo o mesmo erro e resolvo cz na mesma pasta do projeto que tinha um arquivo hosts e, por algum motivo, ocorreu um erro, então apenas com um rm -r hosts, consegui resolvê-lo.
Eu exponho a você se vc tiver o mesmo problema que eu tenho.

Feliz Natal X), xoxo.

Tive o mesmo problema até editar meu arquivo de inventário com
[testserver]
<target_ip> ansible_user=<target_domain_name> ansible_ssh_pass=<target_pass>
Então, para testar:
ansible testserver -m ping

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

Jogar [servidores web] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **

TAREFA [Coleta de fatos] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal: [54.153.119.230]: INACESSÍVEL! => {"alterado": falso, "msg": "Falha ao conectar ao host via ssh: nenhuma identidade: /root/UbuntuAnsible.pem: Nenhum arquivo ou diretório \ r \ nPermissão negada (chave pública). \ r \ n "," inacessível ": verdadeiro}
para tentar novamente, use: --limit @ / etc / ansible / tomserver.retry

por favor ajude

Você está tentando simplesmente se conectar? Qual é a aparência do seu arquivo hosts?

Na quarta-feira, 12 de setembro de 2018, FALCON-SJSU [email protected]
escreveu:

fatal: [54.153.119.230]: INACESSÍVEL! => {"alterado": falso, "msg": "Falha
para se conectar ao host via ssh: nenhuma identidade: /root/UbuntuAnsible.pem:
Esse arquivo ou diretório não existe \ r \ nPermissão negada (chave pública). \ R \ n ",
"inacessível": verdadeiro}
para tentar novamente, use: --limit @ / etc / ansible / tomserver.retry

por favor ajude

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-420827308 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/An-8H0G3NUSkpFXpcm2hkAXXGco3eMmyks5uaZO0gaJpZM4LSWpz
.

Eu encontrei a solução.
Meu sistema operacional era Mac OS, e eu mudo o 'ansible.cfg' na linha 'remote_user = root', o problema está resolvido.

Sim! Eu tive que fazer a mesma coisa! Que bom que você resolveu!

Na terça, 18 de setembro de 2018 às 4:09 ZhangZhongyuan [email protected]
escreveu:

Eu encontrei a solução.
Meu sistema operacional era Mac OS, e eu mudo o 'ansible.cfg' no
linha 'remote_user = root', o problema está resolvido.

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-422297005 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/An-8H0zGJ4zE4mKmaMtXDAtInZNDlrW4ks5ucKpCgaJpZM4LSWpz
.

Eu executei o manual com os seguintes sinalizadores:

ansible-playbook playbook.yml --ask-pass - isso ajudou.

Nos hosts, você também pode fazer ansibleuser = "user" ansiblepass = "passar" certo
próximo ao ip do alvo. Isso me permite executar livros de jogos sem qualquer
solicitações de senha extras.

Na terça - feira, 2 de outubro de 2018 às 11h15, jluntnscc

Eu executei o manual com os seguintes sinalizadores:

ansible-playbook playbook.yml --ask-pass - isso ajudou.

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-426312089 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/An-8HzRVj8-BqcUiQywgQYKIVbcr4yzdks5ug4MEgaJpZM4LSWpz
.

tente isto

todos os servidores - Funciona quando o nome de usuário do servidor e do cliente são iguais (sem senha)

ansible all -m ping

todos os servidores - "raj" é o usuário do nó gerenciado (sem senha)

ansible all -u raj -m ping

OU

Apenas grupo de demo-servers - "raj" é o usuário do nó gerenciado (sem senha)

ansible demo-servers -u raj -m ping

OU

Se você usar autenticação por senha

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

ou você pode seguir este link para mais informações
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

O que funcionou para mim foi atualizar meu arquivo hosts para ter o caminho para a chave ssh:

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

Ótima solução. Isso cuidaria de vários alvos!

Na segunda-feira, 29 de outubro de 2018 às 16h02, fhackenb [email protected] escreveu:

O que funcionou para mim foi atualizar meu arquivo de hosts para ter o caminho para o ssh
chave:

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

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-434057611 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/An-8HzLY4PQVaWdPDOH0bHGnh9xpzmDWks5up17AgaJpZM4LSWpz
.

funcionando bem após a solução @ riteshpuj2013 .

ansible-playbook test.yml --ask-pass

eu entendo esse problema, não tenho certeza de como progredir

[email protected] | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha de autenticação ou permissão. Em alguns casos, você pode ter conseguido autenticar e não tinha permissões no diretório de destino. Considere alterar o caminho remoto tmp em ansible.cfg para um caminho enraizado em \" / tmp \ ". O comando falhado foi: (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 \ "), saiu com o resultado 1 ",
"inacessível": verdadeiro
}

capaz de executar o manual com ansible, mas ao executar o mesmo manual com a torre ansible, obtendo erro


<192.168.0.17> ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: admin
<192.168.0.17> SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o StrictHostKeyChecking = no -o KbdInteractiveAuthentication = no -o PreferredAuthentifications = 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, '', "Aviso: adicionado permanentemente '192.168.0.17' (ECDSA) à lista de hosts conhecidos. \ R \ nPermissão negada (publickey, gssapi-keyex, gssapi-with-mic, senha ). \ r \ n ")
fatal: [192.168.0.17]: INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: Aviso: adicionado permanentemente '192.168.0.17' (ECDSA) à lista de hosts conhecidos. \ r \ nPermissão negada (publickey, gssapi-keyex, gssapi-with-mic , senha). \ r \ n ","inacessível": verdadeiro
}

eu entendo esse problema, por favor me dê a solução

ubuntu @master: ~ $ ansible-playbook playbook2.yml -b jogar [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * TAREFA [Coleta de fatos] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
fatal: [172.31.42.20]: INACESSÍVEL! => {"alterado": falso, "msg": "Falha ao conectar ao host via ssh: Permissão negada (chave pública, senha). \ r \ n", "inacessível": verdadeiro}
para tentar novamente, use: --limit @ / home / ubuntu / playbook2.retry PLAY RECAP * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

172.31.42.20: ok = 0 alterado = 0 inacessível = 1 falhou = 0

eu entendo esse problema, por favor me dê a solução

ubuntu @ mestre : ~ $ ansible-playbook playbook2.yml -b jogar [172.31.42.20] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * TAREFA [Coleta de fatos] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

fatal: [172.31.42.20]: INACESSÍVEL! => {"alterado": falso, "msg": "Falha ao conectar ao host via ssh: Permissão negada (chave pública, senha). \ r \ n", "inacessível": verdadeiro}
para tentar novamente, use: --limit @ / home / ubuntu / playbook2.retry PLAY RECAP * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
172.31.42.20: ok = 0 alterado = 0 inacessível = 1 falhou = 0

Temos duas soluções: -

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 a conexão SSH com a máquina host e teste-a.
Uma vez feito isso, no arquivo / etc / ansible / hosts, forneça o IP do host apropriado.
Agora, para testar a conexão segura entre o ansible e a máquina convidada, use o comando abaixo:
-> ansible -i hosts -u vagrant --ask-pass -m ping todos
hosts-> arquivo hosts (fornecer o ip de convidado adequado)
-u vagrant -> vagrant é o nome de usuário da minha máquina convidada
--ask-pass-> Permite que você insira a senha SSH para se conectar ao guest m / c.
Nota: Se eu não usar --ask-pass, ele apresentará um erro.

Obrigado se ajudar :)

é bem possível que o seu / etc / ansible / hosts esteja errado

Eu sou novo no ansible, alguém pode me ajudar

34.201.109.32 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: [email protected] : Permissão negada (chave pública). \ r \ n",
"inacessível": verdadeiro
}

Tente incluir a senha de sua máquina de destino no arquivo hosts.
Normalmente, você precisará ter uma conexão ssh existente que
gera uma chave RSA para seu host e sua máquina local. Experimente ssh no
host, em seguida, execute o ansible novamente.

No domingo, 20 de janeiro de 2019 às 11h22 Venkata Bhanusree Vadlamudi <
notificaçõ[email protected]> escreveu:

Eu sou novo no ansible, alguém pode me ajudar

34.201.109.32 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: [email protected] :
Permissão negada (publickey). \ R \ n ",
"inacessível": verdadeiro
}

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455880089 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/An-8H0nPfSdUELQxzoQAvvHHlsau7uyBks5vFJfOgaJpZM4LSWpz
.

Quando uso o comando ssh do meu terminal local, posso me conectar à instância ec2. No entanto, quando executo o script ansible, recebo o erro.

34.201.109.32 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: [email protected] : Permissão negada (chave pública). \ r \ n",
"inacessível": verdadeiro
}

Com as instâncias AWS ec2, você deve gerar uma chave pública através da AWS,
baixe-o e aponte a sessão ssh para essa chave. Existem tutoriais para
este procedimento online.

No domingo, 20 de janeiro de 2019 às 16:48 Venkata Bhanusree Vadlamudi <
notificaçõ[email protected]> escreveu:

Quando eu uso o comando ssh do meu terminal local, não consigo me conectar
para a instância ec2. No entanto, quando executo o script ansible, recebo o erro.

34.201.109.32 | INACESSÍVEL! => {
"alterado": falso,
"msg": "Falha ao conectar ao host via ssh: [email protected] :
Permissão negada (publickey). \ R \ n ",
"inacessível": verdadeiro
}

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/ansible/ansible/issues/19584#issuecomment-455905472 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/An-8Hya_SkLrHT-HLYEOPEE2QXsSuDOJks5vFOQOgaJpZM4LSWpz
.

t oi pessoal,
Eu tive o mesmo problema.
Meu usuário devops poderia ssh para todos os servidores, mas quando eu tentei executar, (com mysuer), comandos ansible eu sempre obtive o erro ... INACESSÍVEL! ...
Resolvi fazendo, com "mysuer" ssh serverDestiny (o servidor que está no arquivo de inventário) observe se você usar fqdn você deve fazer ssh para o FQDN.
exemplo:
inventário de gatos
servidor1

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

Espero que isso ajude você.
se sim, dê um like 👍
Obrigado,
MBrito

Isso corrigiu meu problema na AWS no VPC privado, preciso do fqdn interno para todos os servidores

Ei pessoal,
Eu estava enfrentando o mesmo problema com o localhost e percebi que '$ ssh localhost' estava pedindo uma senha. Resolvi isso movendo a chave pública de 'usuário' no localhost para a chave autorizada.

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

Apenas verifique se os arquivos authorized_key têm as chaves necessárias

teste é o nome de usuário

Uau ... eu li os comentários. Não posso acreditar que os problemas ainda existem. Estou no último ansible. Acho que essa é uma das dificuldades de usar código aberto.

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
}

SOLUÇÃO

Tudo bem, aqui está o que funcionou para mim -
Eu loguei na máquina remota lb. editou o ~ / .ssh / authorised_keys e adicionou a chave id_rsa.pub do ansible master. Salvo e saiu. Saltou o sshd em lb.

Esta não é uma maneira perfeita, mas permite que você inicie os testes.

Editar 1 - Além disso, você precisa se certificar de que a máquina remota (cliente que será gerenciado pelo ansible) precisa ter o python instalado.

PS - mesmo o método de ssh-copy-id -i estava falhando para mim com o mesmo erro de permissão negada (chave pública)

vagrant @ mgmt : ~ $ ansible lb -m ping -vvv
ansible 2.7.8
arquivo de configuração = /home/vagrant/ansible.cfg
caminho de pesquisa do módulo configurado = [u '/ home / vagrant / .ansible / plugins / modules', u '/ usr / share / ansible / plugins / modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
localização do executável = / usr / bin / ansible
versão do python = 2.7.12 (padrão, 12 de novembro de 2018, 14:36:49) [GCC 5.4.0 20160609]
Usando /home/vagrant/ansible.cfg como arquivo de configuração
[AVISO DE DEPRECAÇÃO]: [padrões] opção de arquivo de host, a chave é enganosa, pois também pode ser uma lista de hosts, um diretório ou uma lista de caminhos, use [padrões] inventário = / caminho / para / arquivo | dir
em vez de. Este recurso será removido na versão 2.8. Os avisos de descontinuação podem ser desativados definindo deprecation_warnings = False em ansible.cfg.
/home/vagrant/inventory.ini não atendeu aos requisitos host_list, verifique a documentação do plugin se isso for inesperado
/home/vagrant/inventory.ini não atendeu aos requisitos de script, verifique a documentação do plugin se isso for inesperado
/home/vagrant/inventory.ini não atendeu aos requisitos do yaml, verifique a documentação do plug-in se isso for inesperado
Fonte de inventário /home/vagrant/inventory.ini analisada com o plugin ini
[AVISO]: Grupo e host encontrados com o mesmo nome: lb

META: manipuladores executados
ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: Nenhuma
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentifications = 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, '/ home / vagrant \ n', '')
ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: Nenhuma
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentifications = 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 ") && sleep 0 '"'" ''
(0, 'ansible-tmp-1552670816.4-42574892310286 = / home / vagrant / .ansible / tmp / ansible-tmp-1552670816.4-42574892310286 \ n', '')
Usando o arquivo 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 PreferredAuthentifications = 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', ' ')
ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: Nenhuma
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentifications = 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, '', '')
ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: Nenhuma
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentifications = 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 {"invocação": {"module_args": {"data": "pong"}}, "ping": "pong"} \ r \ n', 'Conexão compartilhada com lb fechada. \ r \ n ')
ESTABELEÇA A CONEXÃO SSH PARA O USUÁRIO: Nenhuma
SSH: EXEC ssh -C -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentifications = 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, '', '')
lb | SUCESSO => {
"alterado": falso,
"invocação": {
"module_args": {
"data": "pong"
}
},
"pingue-pongue"
}

Esta página foi útil?
0 / 5 - 0 avaliações