ssh: Aviso apesar de desativar a verificação estrita da chave do host

0

Estou executando uma tarefa ansible , mas isso é mais um problema de ssh ;

Eu executo um comando rsync (do meu localhost para um vagrant machine) da seguinte forma:

command: "rsync -zaP  -e 'ssh -p {{ ansible_port }} -o StrictHostKeyChecking=no' {{ temp_build_directory }}/artifacts.tar.gz {{ rsync_remote_user }}@{{ ansible_host }}:/tmp"

Apesar do fato de eu estar desabilitando explicitamente a verificação da chave do host, em algum momento recebi o seguinte erro:

TASK [send_artifacts : Transfer Artifacts -->  Transfer tarball to deployment targets] ***
fatal: [vagrant -> localhost]: FAILED! => changed=true 
  cmd:
  - rsync
  - -zaP
  - -e
  - ssh -p 2222 -o StrictHostKeyChecking=no
  - /tmp/mdr-700263/artifacts.tar.gz
  - [email protected]:/tmp
  delta: '0:00:00.351747'
  end: '2018-10-18 12:04:52.350948'
  msg: non-zero return code
  rc: 23
  start: '2018-10-18 12:04:51.999201'
  stderr: |-
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    It is also possible that a host key has just been changed.
    The fingerprint for the ECDSA key sent by the remote host is
    SHA256:8r8mZHkCiXJBAu7LeaFsjpa5g2gpQTZzf7RpesOV0QQ.
    Please contact your system administrator.
    Add correct host key in /home/ansible/.ssh/known_hosts to get rid of this message.
    Offending ECDSA key in /home/ansible/.ssh/known_hosts:3
      remove with:
      ssh-keygen -f "/home/ansible/.ssh/known_hosts" -R [127.0.0.1]:2222
    Password authentication is disabled to avoid man-in-the-middle attacks.
    Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
    rsync: link_stat "/tmp/mdr-700263/artifacts.tar.gz" failed: No such file or directory (2)
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]
  stderr_lines:

Por que isso?

    
por pkaramol 18.10.2018 / 11:12

1 resposta

2

Existe um aviso de ssh sobre a alteração nas chaves do host. O erro vem de rsync e diz que o arquivo de origem ( /tmp/mdr-700263/artifacts.tar.gz ) não pode ser encontrado na máquina local. Estas provavelmente não estão relacionadas.

Você recebe o aviso ssh , pois a verificação da chave do host em relação à chave conhecida em known_hosts sempre é feita, independentemente da configuração StrictHostKeyChecking .

Do manual ssh_config :

StrictHostKeyChecking

[...] If this flag is set to “no” or “off”, ssh will automatically add new host keys to the user known hosts files and allow connections to hosts with changed hostkeys to proceed, subject to some restrictions. [...] The host keys of known hosts will be verified automatically in all cases.

    
por 18.10.2018 / 12:19

Tags