Falha na verificação da chave do host. # 015

1

Estou tentando executar um script em um computador remoto. Vamos chamar isso de (Secundário), o roteiro é o seguinte, por simplicidade se propõe,

#!/bin/bash

echo "This is the Remote Machine (Secondary)" > /tmp/test.txt
echo "---------------------------------------------------" >> /tmp/test.txt
echo "Test.sh scandir = $scandir" >> /tmp/test.txt
echo "Test.sh tmpdir = $tmpdir" >> /tmp/test.txt
echo "Test.sh CurrentDir = $CurrentDir" >> /tmp/test.txt
echo "---------------------------------------------------" >> /tmp/test.txt

Eu posso executar remotamente a partir da máquina principal com o seguinte comando.

ssh <username>@192.168.1.20 'screen -S TestProcess -d -m ./test.sh'

e o script é executado conforme o esperado.

No entanto, quando o script é executado automaticamente a partir de um processo do sistema, recebo o seguinte erro.

Feb 21 06:20:23 Primary test.sh: Host key verification failed.#015

Eu criei chaves ssh e as copiei.

ssh-keygen -R 192.168.1.20
ssh-copy-id <username>@192.168.1.20

Qual pode ser o problema?

    
por user68650 21.02.2015 / 07:36

2 respostas

0

Acho que eu entendo isso. verificando os logs de ssh para o script automatizado revelado

Feb 22 23:46:02 PiScanner scan.sh: debug1: Connecting to 192.168.1.20 [192.168.1.20] port 22.#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: Connection established.#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: permanently_set_uid: 0/0#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: identity file /root/.ssh/id_rsa type 1#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: **identity file /root/.ssh/id_rsa-cert type -1#015**
Feb 22 23:46:02 PiScanner scan.sh: debug1: identity file /root/.ssh/id_dsa type -1#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: identity file /root/.ssh/id_dsa-cert type -1#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: identity file /root/.ssh/id_ecdsa type -1#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: identity file /root/.ssh/id_ecdsa-cert type -1#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2#015
Feb 22 23:46:02 PiScanner scan.sh: debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH*#015

O log do usuário que eu gerou as chaves tinha

    debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
    debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/pi/.ssh/id_rsa-cert type -1
    debug1: identity file /home/pi/.ssh/id_dsa type -1
    debug1: identity file /home/pi/.ssh/id_dsa-cert type -1
    debug1: identity file /home/pi/.ssh/id_ecdsa type -1
    debug1: identity file /home/pi/.ssh/id_ecdsa-cert type -1
    debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2

Eu tinha copiado as chaves geradas pelo usuário raiz. diretório ~ / .ssh depois de um sudo -i

link

PermitRootLogin yes no arquivo ssh_config não funcionou comigo e gerou outros erros.

    
por 23.02.2015 / 01:03
0

Observe que isso é sobre a chave do host, ou seja, a maneira como seu cliente sabe que está entrando em contato com o servidor certo. Isso não está relacionado à chave gerada pelo ssh-keygen , que permite ao servidor autenticar o usuário.

"Falha na verificação da chave do host" indica que o cliente havia registrado anteriormente a chave pública do host, mas a chave pública foi alterada desde a última vez. Isso pode ser devido a um ataque, a uma reinstalação do servidor ou a um endereço IP do servidor ou alteração de nome de host. As chaves de host salvas são armazenadas por conta, o que explicaria por que ela funciona na sua conta, mas não em um “processo do sistema” (presumivelmente sendo executado como um usuário diferente). Para corrigir isso, execute ssh-keygen -R 192.168.1.20 como o usuário que está executando esse processo do sistema. Em seguida, registre a chave do host atual executando ssh [email protected] true uma vez como usuário do sistema e digitando "sim" quando solicitado.

Também é possível que você tenha ativado a opção StrictHostKeyChecking , ou que o ssh não possa solicitar que você confirme a verificação da chave do host pela primeira vez e falhe por causa disso. Haveria outra mensagem indicando isso antes de “Falha na verificação da chave do host”. De qualquer forma, como antes, registre a chave do host atual executando ssh [email protected] true uma vez como usuário do sistema e digitando “yes” quando solicitado. A chave será armazenada no arquivo .ssh/known_hosts no diretório inicial do usuário.

    
por 22.02.2015 / 00:27