Предупреждение «неверный ключ» при подключении по ssh к моему VPS

Предупреждение «неверный ключ» при подключении по ssh к моему VPS

Когда я выполняю:

ssh root@myVPS

Я получаю следующее предупреждение:

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)?

и если я набираю "да", то все работает нормально, но я не знаю, почему выдается это предупреждение. Есть какие-нибудь предположения, почему оно выдается и как его избежать?

решение1

Скорее всего, вы переустановили свой VPS в какой-то момент и сохранили имя хоста и/или IP-адрес. При переустановке ключ хоста VPS был сгенерирован заново, и поскольку он отличается от того, что в вашем ~/.ssh/known_hosts, отображается предупреждение, чтобы вы могли обнаружить проблему. Это делается для того, чтобы вы не подключались к совершенно другой системе, которая заменяет законный хост, например, для сбора паролей.

Если что-то подобное произошло, просто удалите проблемный ключ из вашего known_hostsфайла, и все будет в порядке, но если вы не знаете о такой переустановке, вам придется провести дальнейшее расследование, чтобы понять, почему ключ отличается.

решение2

У меня была та же проблема, и ее очень легко решить. Откройте файл known_hosts vi .ssh/known_hostsи найдите имя вашего сервера. Если вы обнаружите, что ключ хоста там без IP-адреса, добавьте свой IP в этот файл, и это решит вашу проблему. До:

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

После добавления IP:

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

решение3

Вам необходимо очистить как имя хоста, так и IP-адрес из файла known_hosts. Это можно сделать следующим образом:

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

Просто замените somehostname.netна имя хоста или доменное имя хоста, который вы хотите очистить, и замените IP-адрес на IP-адрес хоста (оставьте квадратные скобки). Если это сработало, вы увидите сообщение вроде этого:

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

Если это не сработало, попробуйте то же самое, но без квадратных скобок, а также дважды проверьте правильность имени хоста и IP-адреса:

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

Если порт SSH хоста находится на другом порту, например 2222 вместо 22, то просто добавьте порт следующим образом:

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

решение4

Если у вас возникла такая ошибка:

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)?

просто удалите строку 1 в вашем файле known_hosts. Тогда в следующий раз, когда вы запустите команду git, она добавит новый хост RSA hey.

Связанный контент