Aviso de "chave ofensiva" ao conectar por ssh ao meu VPS

Aviso de "chave ofensiva" ao conectar por ssh ao meu VPS

Quando eu executo:

ssh root@myVPS

Estou recebendo o próximo aviso:

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

e se eu digitar "sim", funciona bem, mas não sei por que esse aviso é lançado. Alguma sugestão de por que foi lançado e como evitá-lo?

Responder1

Muito provavelmente, você terá reinstalado seu VPS em algum momento e mantido o nome do host e/ou endereço IP. Ao reinstalar, a chave do host do VPS foi regenerada e por ser diferente daquela que está no seu arquivo ~/.ssh/known_hosts, o aviso é exibido para que você possa detectar o problema. Isto é feito para evitar que você se conecte a um sistema totalmente diferente que substitua o host legítimo, por exemplo, para coletar senhas.

Se algo assim acontecer, basta remover a chave ofensiva do seu known_hostsarquivo e tudo ficará bem, mas se você não estiver ciente de tal reinstalação, será necessário investigar mais a fundo para entender por que a chave é diferente.

Responder2

Eu tive o mesmo problema e é muito fácil de resolver. Abra o arquivoknown_hosts vi .ssh/known_hostse pesquise o nome do seu servidor. Se você descobrir que a chave do host está lá sem o endereço IP, adicione seu IP a esse arquivo e isso resolverá o problema. Antes:

myVPS ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

Depois de adicionar IP:

myVPS,198.51.100.42 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

Responder3

Você deve limpar o nome do host e o endereço IP do seu arquivoknown_hosts, você pode fazer assim:

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]

Basta substituir somehostname.netpelo nome do host ou nome de domínio do host que você deseja limpar e substituir o endereço IP pelo endereço IP do host (deixe os colchetes entre colchetes). Se funcionou você verá uma mensagem como esta:

/home/yourname/.ssh/known_hosts updated.
Original contents retained as /home/yourname/.ssh/known_hosts.old

Se não funcionou, tente a mesma coisa, mas sem os colchetes, verifique também se o nome do host e o endereço IP estão corretos:

ssh-keygen -f ~/.ssh/known_hosts -R somehostname.net
ssh-keygen -f ~/.ssh/known_hosts -R 123.123.123.123

Se a porta SSH do host estiver em uma porta diferente, digamos 2222 em vez de 22, basta adicionar a porta da seguinte forma:

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]:2222
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]:2222

Responder4

Se você tiver um erro como este:

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

apenas exclua a linha 1 do seu arquivoknown_hosts. Então, da próxima vez que você executar o comando git, ele adicionará o host RSA hew.

informação relacionada