Иногда при попытке использования ssh вы увидите ошибку, сообщающую о том, что ssh не смог разрешить имя хоста. Если вы получаете эту ошибку, то прежде всего убедитесь, что вы подключены к сети. Пользователям любых типов беспроводных сетей также необходимо убедиться, что они получают достаточный сигнал для выполнения запроса. Отсутствие соединения является наиболее распространенной причиной этих ошибок, по мнению многих разработчиков. Это даже более распространенная проблема, чем опечатки.
Если вы уверены в надежности соединения, то далее следует проверить наличие опечаток. Возможно, вы неправильно ввели IP-адрес или какую-либо строку локатора ресурса. Несмотря на то, что программа ssh может показаться придирчивой к способу предоставления ей информации, она хочет убедиться, что вы всегда подключаетесь к нужному ресурсу. Кроме того, файл hosts может указать ssh неверное направление к ресурсу, к которому вы пытаетесь подключиться.
Метод 1: Разрешение команд с неправильным именем хоста
Если вы не допустили ошибку, например, вместо ssh набрали s sh или ss h, то, возможно, неправильно сформировали команду hostname. Программа ожидает, что команды будут переданы в виде ssh user@NAME, а не в каком-либо другом формате. Откройте терминал с привилегиями, соответствующими вашей команде. Как правило, при использовании ssh вы можете работать как обычный пользователь, и вам не понадобятся полномочия суперпользователя.
Для этого откройте терминал, удерживая одновременно клавиши Ctrl, Alt и T. Некоторые пользователи Xfce4 могут удерживать клавишу Windows или Super и нажимать T. Вы можете запустить приглашение из меню Dash, Applications, KDE или Whisker, перейдя к поиску и набрав Terminal, или, наоборот, выбрав его из системных инструментов. Пользователи Ubuntu Server или версий Red Hat Enterprise Linux и Scientific Linux, не имеющих графического интерфейса, должны удерживать клавиши Ctrl, Alt и F1-F6 для доступа к виртуальной консоли. Прежде чем продолжить, необходимо войти в систему.
Как только вы получите приглашение, введите код ssh и убедитесь, что он соответствует предыдущему формату. Например, вы могли бы попробовать команду ssh root@myPlace, если бы в вашей сети было подключено такое имя хоста. Команда ssh root@##.#.#.##, заменив символы восьмерок на цифры, — хорошая идея, если вы подключаетесь непосредственно к IP-адресу.

Вы можете обнаружить, что писали root@server или что-то подобное, что выдаст следующую ошибку:
ssh: Could not resolve hostname server: Имя или служба неизвестны
Некоторые пользователи имеют привычку напоминать себе, что ssh user@server — это тот способ, которым вы всегда должны выписывать эту команду.
Метод 2: Исправление
Файл
Любое повреждение
файл также может вызывать проблемы с именем хоста, и ssh иногда выдает те же предупреждения для этих типов ошибок, что и для любых других. Для открытия файла hosts вам потребуется доступ root. Если вы’работаете на одном из терминалов, описанных выше, то вы можете набрать sudo nano
или
чтобы открыть файл для редактирования. Приглашение sudo запросит ваш пароль.
Если вы’ работаете из среды рабочего стола, то вам’ нужно открыть строку приложения. Это можно сделать, удерживая нажатыми клавиши Windows или Super и R, нажимая Alt и F2 или щелкая мышью на Dash в зависимости от того, какую среду рабочего стола вы используете’. Когда появится строка, введите
в зависимости от того, используете ли вы приложения на базе GTK+ или KDE Qt. Возможно, вы захотите использовать gvim, leafpad или mousepad вместо gedit или kate.
Вы’ в любом случае загрузите файл hosts. Убедитесь, что у вас есть доступ на чтение и запись, затем посмотрите на верхнюю часть файла. Для корректной работы вам понадобятся следующие две строки:
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 должен был настроить эти параметры для Вас, но иногда ошибочный пакет или просто ошибки пользователя могут повредить файл hosts и направить соединения в неправильное место.

Если вы’пользуетесь графическим текстовым редактором, который читает <hosts> в строке заголовка, значит, вы не можете’ сохранить его и’ неправильно использовали gksu или kdesu. Возможно, после ff02::2 ip6-allrouters у вас есть другие строки, которые не нужно трогать, если они не имеют отношения к другим кодам. Это части других назначений, и у Вас их может быть довольно много, если Вы работаете в системе, где файл hosts использовался для блокирования доступа пользователей к определенному сайту. Однако вам придется закомментировать дублирующиеся строки, что можно сделать, добавив в их начало символ #. Каждая из предыдущих строк должна встречаться только один раз, и вы не хотите иметь несколько назначений для любого из заданных имен. Это заставит ssh и все другие сетевые программы просто принять последнее назначение, которое может быть ошибочным.
После завершения редактирования сохраните файл и сразу же закройте его. Не стоит вносить лишние изменения в файл hosts, если можно этого избежать, поэтому выход из этого раздела крайне важен. Попробуйте выполнить команду ssh, убедившись, что вы правильно сформировали ее с помощью шагов, описанных в первом способе. Если у вас все еще возникают проблемы, перезагрузите компьютер. В противном случае проблем с ssh больше не возникнет.





