Какво означава неуспешна проверка на хост ключ?

What Does Host Key Verification Failed Mean



Докато използвате ssh сървър, една от често срещаните грешки, които ще срещнете, е Проверката на ключа на хоста не бе успешна . За да разберем защо възниква тази грешка, нека първо разберем как ssh установява връзка.

Когато се опитвате да се свържете с отдалечен сървър, сървърът ще поиска да потвърдите дали се опитвате да установите връзка с правилния сървър.









Ако пишете да , клиентът ще добави публичния хост ключ към .ssh/known_hosts файл. След като се добави ключът на отдалечения сървър, следващият път, когато се опитате да се свържете със същия сървър, клиентът ще сравни ключовете с ключовете, съхранявани в известни_хостове файл.



Няма да получите подкана с никакво предупреждение, ако ключът присъства в известни_хостове файл. Сървърът ще бъде свързан веднага.





Защо проверката на ключа на хоста не е успешна Възниква грешка

Основната причина, която причинява грешка при неуспешната проверка на ключа на хоста, е, че ключът на отдалечения хост е променен и вече не е същият като съхранен в известни_хостове файл. Ключът обикновено се променя при възстановяване на сървърите и получавате грешка, както е показано по -долу:



Как да поправите Проверката на ключа на хоста не бе успешна Грешка

За да поправим тази грешка, трябва да изтрием нарушителния ключ от известни_хостове файл, присъстващ в нашата система в .ssh директория. Грешката ви дава IP адреса на отдалечения сървър и номера на ред, на който ключът се съхранява в известни_хостове файл.

В горната грешка, /home/user/.ssh/known_hosts:7 , : 7 е номер на нарушаващ ред. Няколко подхода за отстраняване на тази грешка са изброени по -долу:

Метод 1:

Първият метод за отстраняване на тази грешка е използването на sed команда. The sed команда се използва за промяна на текстовите файлове за търсене, добавяне или изтриване на нещо от файловете. Използваме го, за да изтрием нарушителя:

$sed '7d'~ .ssh/известни_хостове

Където 7 е номерът на реда, показан в горната грешка, вашият номер може да е различен; уверете се, че използвате правилния номер на ред. Командата ще изтрие нарушителния ред от известни_хостове файл и разрешете проблема.

Метод 2:

Вторият подход е отварянето на известни_хостове файл във всеки редактор:

$нано.ssh/известни_хостове

И ръчно изтрийте нарушаващия ред и запишете файла.

Метод 3:

Третият метод е премахването на сървъра с помощта на ssh-keygen команда. Следвайте синтаксиса, споменат по -долу:

$ssh-keygen -R [IP АДРЕС]

Например, за да премахнете хост ключа на 192.168.10.116 , използвайте:

$ssh-keygen -R192.168.10.116

Заключение

Грешка при проверката на ключа на хоста възниква, когато ключът на отдалечения сървър се промени и клиентът не го провери от съхранените ключове. Ключовете на сървъра се съхраняват в известни_хостове файл от страна на клиента и при установяване на връзката клиентът проверява ключа, като го сравнява с ключовете, съхранявани в известен_хост файл и при провал получавате a Проверката на ключа на хоста не бе успешна грешка.

За да коригирате това, премахнете хост -хоста от известни_хостове файл. В това ръководство се споменават три различни метода за премахване на хост -нарушителя и всеки метод може да се използва за разрешаване на тази грешка.