Докато използвате 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 Проверката на ключа на хоста не бе успешна грешка.
За да коригирате това, премахнете хост -хоста от известни_хостове файл. В това ръководство се споменават три различни метода за премахване на хост -нарушителя и всеки метод може да се използва за разрешаване на тази грешка.