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.
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 =
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
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
"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.retrypor 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
ansible all -m ping
ansible all -u raj -m ping
OU
ansible demo-servers -u raj -m ping
OU
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 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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 @ server1Espero 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
}
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: lbMETA: 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.pyPUT /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"
}
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 linhae tente executar:
E me mostre a saída.
Cumprimentos