Когда я выполняю:
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.