Problema de conexão SSH com " falha na verificação da chave do Host..." erro

Posso me conectar a outra máquina Ubuntu na minha LAN via SSH. Em ambos os então pc's eu instalei openssh-server mas de outro computador Ubuntu não consigo me conectar ao meu PC via SSH e recebi esse erro:

Falha na verificação da chave do Host...

"Falha na verificação da chave do Host" significa que o hospedar a chave do host remoto foi alterada.

SSH armazena as chaves host dos hosts remotos em ~/.ssh/known_hosts. Você pode editar esse arquivo de texto manualmente e remover a chave antiga( você pode ver o número da linha na mensagem de erro) ou usar

ssh-keygen -R hostname

De página do homem:

- R nome do host
Remove todas as chaves pertencentes ao hostname de um arquivo known_hosts. Esta opção é útil para excluir hosts com hash .

(que aprendi com a resposta paraÉ possível remover uma chave host específica do arquivo known_hosts do SSH?).

Se você estiver executando em certas situações remotas / de script em que não tem acesso interativo à chave de prompt para adicionar host, contorne-a assim:

$ ssh -o StrictHostKeyChecking=no user@something.example.com uptime

Aviso: adicionado permanentemente "something.example.com, 10.11.12.13' (RSA) para a lista de hosts conhecidos.

Também às vezes há situação em que você está trabalhando no console serial e, em seguida, verificando o comando acima no modo detalhado -v irá mostrar-lhe /dev/tty não existe, enquanto isso acontece.

ssh -v user@hostname

No caso acima, basta remover /dev/tty e criar um link simbólico de /dev/ttyS0 para /dev/tty.

rm /dev/ttyln -s /dev/ttyS0 /dev/tty

Como alternativa, adicione id_rsa.pub para o local remoto, portanto, a senha não é solicitada e você obtém acesso de login.

No meu caso, isso foi causado por um problema udev-não houve /dev/tty nó do dispositivo. A solução para mim foi apenas:

sudo mknod -m 666 /dev/tty c 5 0

No terminal:

ssh -o StrictHostKeyChecking=no -i YourPublicKey.pem user@example.com uptime

A seguinte mensagem, ou similar, aparecerá:

Warning: Permanently added 'example.com, XX.XXX.XXX.XX' (ECDSA) to the list of known hosts. 00:47:37 up 3 min,  0 users,  load average: 0.00, 0.00, 0.00

Em seguida, conecte-se ao seu EC2 normalmente:

ssh -i YourPublickey.pem user@example.com

Pode ser que você só precise inserir " Sim " quando o ssh confirmar que deseja continuar conectando.

Como abaixo.

The authenticity of host 'xxx' can't be established.ECDSA key fingerprint is yyy.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'xxx' (ECDSA) to the list of known hosts.Enter passphrase for key '/Users/ysy/.ssh/id_rsa':

Em seguida, digite sua senha.

Por favor, preste atenção em " tem certeza de que deseja continuar conectando (sim/não)? Sim". Você deve inserir sim, não entrar.

você tem que colocar a chave rsa do host de destino no host de origem /home/user/.ssh/known_hosts executando isso no alvo

ssh-keyscan -t rsa @targethost

Bem, simplesmente porque o segundo ubuntu requer conexão por chave e não senha.

Eu sugiro que você use sudo dpkg-reconfigure openssh-server no seu pc, e então ele deve funcionar corretamente. Ele redefinirá a configuração do openssh e deve voltar a uma autenticação de senha padrão.

Segunda possibilidade é que já existe uma chave para o seu outro ubuntu em seu PC, e que mudou, portanto, não sendo mais reconhecido. Nesse caso, você terá que editar o arquivo .ssh/authorized_keys para remover a linha problemática que identifica seu ubuntu.

Este é um tópico antigo e acabei de encontrar esta resposta, vou apenas adicionar o que fiz para resolver isso.

ssh-keygen -f "/home/USER/.ssh/known_hosts" -R HOSTNAME

Eu apenas olhei para a mensagem de erro que ele jogou em mim E disse para executar esse comando para removê-lo da lista de hosts. Depois disso, fiz o seguinte:

ssh-copy-id HOSTNAME

Do que eu segui as instruções de lá até que eu era capaz de ssh para o servidor.

Você deve alterar sua chave desta maneira: a partir do erro fornecido, localize qual chave do host mudou paraexample: ofendendo a chave ECDSA em / Users/user-name/.ssh / known_hosts: 5said 5ª chave alterada, então faça isso:

sed -i '5d' ~/.ssh/known_hosts

Aviso: você deve ser root ou ter privilégio para sudo.

Dó você usa nomes de host ou endereços IP?

Não é semelhante, mas recebi o mesmo erro, mas devido a um problema diferente: ubuntu - Managing multiple servers behind a firewall with SSH reverse tunnel - Server Fault

Este não é um problema específico do Ubuntu. Pode acontecer com qualquer ’ ssh ’ da linha de comando.