Erro SSH ansível, embora o ssh padrão esteja funcionando

5

Eu quero aplicar o manual no localhost

ansible-playbook site.yml --limit localhost -vvvv

e eu recebo

TASK [setup] *******************************************************************
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: root
<127.0.0.1> SSH: EXEC ssh -C -vvv -o ControlMaster=no -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -tt 127.0.0.1 '/bin/sh -c '"'"'mkdir -p "' echo $HOME/.ansible/tmp/ansible-tmp-1456926531.44-231334347877988 '" && echo "' echo $HOME/.ansible/tmp/ansible-tmp-1456926531.44-231334347877988 '"'"'"''
<127.0.0.1> PUT /tmp/tmpBYEsRj TO /root/.ansible/tmp/ansible-tmp-1456926531.44-231334347877988/setup
<127.0.0.1> SSH: EXEC sftp -b - -C -vvv -o ControlMaster=no -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 '[127.0.0.1]'
fatal: [127.0.0.1]: UNREACHABLE! => {"changed": false, "msg": "SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh", "unreachable": true}

Se eu executar ssh localhost , está funcionando. Configuração:

$ cat ansible.cfg
[defaults]
hostfile = hosts
remote_user = root
host_key_checking = False

[ssh_connection]
control_path = /tmp
ssh_args = -o ControlMaster=no
    
por jreisinger 02.03.2016 / 14:50

1 resposta

7

Você precisa definir a conexão para local para localhost.

Crie um arquivo host_vars/localhost relativo ao seu playbook com o seguinte conteúdo:

---

ansible_connection: local

...

Alternativamente, você pode chamar ansible-playbook com a opção --connection=local , mas é bom ter o arquivo acima no lugar, caso você queira delegar uma tarefa ao localhost.

    
por 02.03.2016 / 15:13

Tags