O SSH via terminal é bem-sucedido, mas a mesma conexão SSH via Ansible falha na mesma máquina?

3

Alguém pode lançar alguma luz sobre por que isso está acontecendo?

Estou logado na máquina A, o cliente, com o usuário basicuser. Quando tento executar um playbook ansible na máquina B (máquina servidor, como remoteuser).

  • 1) Minhas chaves privadas / públicas DEFINIMENTE correspondem, como é evidenciado por "usuário ssh @ servidorB" trabalhando no cliente A (como usuário básico) - ansible e SSH estão apontando para a mesma chave privada
  • 2) Meu ~ / .ssh / known_hosts não está desatualizado
  • 3) minhas permissões ~ / .ssh e ~ / .ssh / * estão corretas (pertencentes ao basicuser, chmod 700 respectivamente
  • 4) Meu arquivo hosts.ini contém o arquivo "ansible_ssh_user = remoteuser ansible_ssh_private_key_file = ~ / .ssh / id_rsa" (e está formatado corretamente)

Eu sei que id_rsa corresponde à única entrada no arquivo "authorized_keys" da máquina B em /home/remoteuser/.ssh.

Aqui está o SSH do cliente A através do terminal:

basicuser@serverA:~$ ssh remoteuser@serverB
Enter passphrase for key '/home/basicuser/.ssh/id_rsa':

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Last login: Wed Jul 16 23:38:41 2014 from xxx.xxx.xxx.xxx
remoteuser@serverB:~$

Veja o que acontece quando executo um playbook ansible: link

Eu coloquei no pastebin porque é um pouco de saída. No entanto, o que me parece estranho é este pouco para o final:

debug2: key: /home/basicuser/.ssh/id_rsa ((nil))
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-with-mic,gssapi-keyex,hostbased,publickey
debug3: authmethod_lookup publickey
debug3: remaining preferred: ,gssapi-keyex,hostbased,publickey
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/basicuser/.ssh/id_rsa
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: read PEM private key done: type RSA
debug3: sign_and_send_pubkey: RSA ed:bb:6d:4e:e3:7a:54:0a:19:f6:ee:1c:d0:f2:1b:3f
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

Eu passei cerca de três dias nisso agora. Por que diabos o terminal SSH está funcionando, mas o ansible está falhando?

Eu não tenho nenhuma sobreposição em / etc / ssh / ssh_config - eu preciso de algum?

    
por Sam Levin 17.07.2014 / 05:58

1 resposta

1

Depois de muito ajustes e café, descobri o que fiz de errado. Eu tinha o "ansible_ssh_user" parâmetro duplicado entre meu hosts.ini e meu arquivo de implantação - mas não o parâmetro de chave privada. Dito isto, estou indo sem uma senha na minha chave ssh! Eu tive que digitar a frase WAY muitas vezes.

Obrigado pelo pessoal do insight

    
por 19.07.2014 / 16:43