Коригиране: SSH грешка „не можа да разреши сървър с име на хост“



Опитайте Нашия Инструмент За Премахване На Проблемите

Понякога ще видите грешка, която ви казва, че ssh не може да разреши име на хост, когато се опитате да го използвате. Ако получавате тази грешка, първо трябва да се уверите, че сте свързани към мрежата. Потребителите на всякакъв вид безжични мрежи също ще искат да се уверят, че получават достатъчно сигнал, за да изпълнят заявката. Липсата на свързаност е най-честата причина за тези грешки според много разработчици. Това е дори по-често от печатащите грешки.



Ако сте сигурни, че имате стабилна връзка, следва да проверите за всякакви типографски грешки. Възможно е да сте въвели грешно IP адрес или някаква линия за намиране на ресурси. Въпреки че може да изглежда придирчиво по отношение на начина, по който информацията му се представя, софтуерът ssh иска да се увери, че винаги се свързвате с правилния ресурс. Освен това вашият файл с хостове може в крайна сметка да насочи ssh в грешна посока по отношение на ресурса, с който се опитвате да се свържете.



Метод 1: Разрешаване на неправилни команди на име на хост

Ако приемем, че не сте сгрешили като въвеждане на s sh или ss h вместо ssh, тогава може да сте деформирали неправилно командата на името на хоста. Софтуерът очаква команди, дадени като ssh потребител @ ИМЕ вместо някакъв друг формат. Отворете терминал със съответните привилегии за вашата команда. Обикновено ще можете да работите като обикновен потребител, когато използвате ssh и няма да имате нужда от суперпотребителски правомощия.



Може да искате да отворите терминал, като задържите Ctrl, Alt и T едновременно. Някои потребители на Xfce4 могат да задържат клавиша Windows или Super и да натиснат T. Можете да стартирате подкана от менюто Dash, Applications, KDE или Whisker, като се насочите към търсене и въвеждане на терминал или вместо това, като го изберете от системните инструменти. Потребителите на Ubuntu Server или версиите на Red Hat Enterprise Linux и Scientific Linux, които нямат графичен потребителски интерфейс, трябва да задържат Ctrl, Alt и F1-F6 за достъп до виртуална конзола. Ще трябва да влезете, преди да продължите.

След като получите подкана, издайте вашия ssh код и се уверете, че е в предишния формат. Например, можете да опитате ssh root @ myPlace, ако имате име на хост, свързано във вашата мрежа като такова. Командата ssh root@##.#.#.##, след като замени символите на октоторп с цифри, е добра идея, ако се свързвате директно с IP адрес.



Може да откриете, че пишете root @ server или нещо друго подобно, което би изплюло следната грешка:

ssh: Не може да се разреши сървър с име на хост: Името или услугата не са известни

Някои потребители имат навика да си напомнят, че ssh user @ server е начинът, по който винаги трябва да изписвате тази команда.

Метод 2: Коригиране на Файл

Всякакви щети на файлът също може да причини проблеми с името на хоста и ssh понякога предлага същите предупреждения за този тип грешки, които би предложил за всичко останало. Ще ви е необходим root достъп, за да отворите файла с хостове. Ако работите на някой от терминалите отгоре, тогава можете да пишете sudo nano или
за да отворите файла за редактиране. Подкана за sudo ще поиска вашата парола.

Ако работите от вътрешната среда на работния плот, ще искате да отворите реда за приложение. Можете да го направите, като задържите клавиша Windows или Super и R, натиснете Alt и F2 или щракнете върху Dash в зависимост от това коя работна среда използвате. Когато имате линия, напишете в зависимост от това дали използвате приложения, базирани на GTK + или KDE Qt. Може да искате да използвате gvim, листовка или подложка за мишка вместо gedit или kate.

Във всеки случай ще заредите файла хостове. Уверете се, че сте имали достъп за четене и запис, след което хвърлете поглед в горната част на файла. Ще ви трябват следните два реда, за да работи правилно:

127.0.0.1 localhost

127.0.1.1 YourHostName

YourHostName трябва да съдържа действителното име на хоста на вашето устройство. Може да се нуждаете и от тях, ако работите с IPv6 мрежа:

:: 1 ip6-localhost ip6-loopback

fe00 :: 0 ip6-localnet

ff00 :: 0 ip6-mcastprefix

ff02 :: 1 ip6-allnodes

ff02 :: 2 ip6-allrouters

Ако сте в някаква мрежа, която използва само технологията IPv4, тогава само в повечето случаи ще трябва да зададете правилно първите две. Съвременната интернет свързаност бързо мигрира към стандарта IPv6, така че дните на настройването им само бързо изчезват. Вашата Linux дистрибуция трябва да е конфигурирала тези настройки вместо вас, но понякога грешен пакет или просто потребителски грешки могат да повредят файла на хоста и да насочат връзките на грешно място.

Ако използвате графичен текстов редактор, който чете в заглавната лента, тогава всъщност не можете да го запазите и не сте използвали правилно gksu или kdesu. Можете алтернативно да откриете, че имате други редове след ff02 :: 2 ip6-allrouters, които не е необходимо да докосвате, освен ако нямат нещо общо с някой от тези други кодове. Това са части от други задания и може да имате доста от тях, ако сте в система, където файлът хостове е бил използван, за да блокира достъпа на потребителите до даден сайт. Ще трябва да коментирате дублиращи се редове, което обаче може да стане чрез добавяне на символа # в началото на тях. Всеки от предишните редове трябва да се появи само веднъж и не искате да имате множество задания за някое от дадените имена. Това би принудило ssh и всички други мрежови програми просто да поемат последното задание, което може да е погрешно.

Запазете файла, след като приключите с редактирането му и не забравяйте да го затворите веднага след това. Не искате да правите ненужни промени във файла hosts, ако можете да го избегнете, поради което излизането тук е толкова наложително. Опитайте командата ssh, след като приключите, като се уверите, че сте я формирали правилно със стъпките, изложени в първия метод. Ако продължавате да имате проблеми, ще искате да рестартирате машината. В противен случай не трябва да имате повече проблеми със ssh.

4 минути четене