Ошибки

Ошибка SSH Could not resolve hostname: не удаётся найти адрес сервера

ssh не смог узнать IP сервера по имени из команды, поэтому подключаться было некуда. До самого сервера дело не дошло. Ниже — что проверить: от опечатки до записи в DNS.

Обновлено 09.10.2026≈ 6 мин чтения
Содержание 11

Что сделать прямо сейчас

  1. Посмотрите, какое имя стоит в сообщении после слов Could not resolve hostname: именно его ssh и не нашёл.
  2. Проверьте, что после @ стоит только IP или домен — без https://, без косой черты и без порта через двоеточие.
  3. Если подключаетесь по короткому имени вроде ssh myvps, проверьте файл config.
  4. Попробуйте подключиться по IP из панели провайдера: ssh root@ВАШ_IP.

Если по IP вход работает, дело в имени — см. «Шаг 3. Проверьте файл config» и «Шаг 4. Проверьте домен».

Вместо ВАШ_IP подставьте адрес своего сервера из панели провайдера. В примерах вывода стоит адрес 203.0.113.10 — у вас будет свой IP.

Что значит эта ошибка

На Linux сообщение выглядит так:

ssh: Could not resolve hostname examle.com: Name or service not known

На Mac:

ssh: Could not resolve hostname examle.com: nodename nor servname provided, or not known

После слов Could not resolve hostname стоит имя, которое ssh пытался найти, после второго двоеточия — ответ системы. В Windows этот ответ звучит по-своему, а шаги те же.

Чтобы подключиться, ssh сначала узнаёт IP сервера по имени через DNS — так же, как браузер, когда вы открываете сайт. Если такого имени нет, подключаться некуда. Ответ системы подсказывает, где искать причину:

Конец сообщенияЧто значит
Name or service not known (Linux), nodename nor servname provided, or not known (Mac)Такое имя не нашлось: опечатка, лишние знаки, нет записи в config или в DNS — шаги 1–4
No address associated with hostnameДля этого имени не нашлось IP-адреса — шаг 4
Temporary failure in name resolutionКомпьютер не смог спросить DNS — см. раздел ниже

Шаг 1. Проверьте, что написано после @

Сравните имя из сообщения с тем, что должно быть. Что проверить:

  • опечатки: лишняя или пропущенная буква, русская буква вместо латинской — русские «а», «с», «о» и «е» выглядят так же, как латинские. На Mac такая буква видна в сообщении как обратная косая черта с цифрами, например \320\265xample.com;
  • лишнее в начале: после @ пишут только адрес, без https://. Иначе ssh примет за имя сервера всю строку целиком, вместе с https://;
  • лишнее в конце: косая черта после адреса, как в адресной строке браузера.

Правильная команда выглядит так:

ssh root@example.com

Вместо root — имя пользователя на сервере, вместо example.com — домен или IP сервера.

Шаг 2. Порт указывайте через -p

Номер порта через двоеточие ssh не понимает: команда ssh root@ВАШ_IP:2222 ищет сервер с именем «IP:2222». На Mac ответ будет таким:

ssh: Could not resolve hostname 203.0.113.10:2222: nodename nor servname provided, or not known

Порт указывают отдельно, через -p:

ssh -p 2222 root@ВАШ_IP

В файле config для порта — отдельная строка Port. Команде scp, которая копирует файлы, порт передают через большую букву: scp -P 2222 ….

Шаг 3. Проверьте файл config

Если вы подключаетесь по короткому имени, например ssh myvps, ssh ищет это имя в файле config в папке .ssh. Если файла нет или имени в нём нет, ssh пытается найти myvps как обычный адрес в интернете — и выдаёт эту ошибку.

Проверьте, что файл есть и называется ровно config, без расширения. На Mac и Linux:

ls ~/.ssh

Команды для Windows ниже — для «Командной строки»: нажмите Win+R, напечатайте cmd и нажмите Enter (подробнее). Если строка в окне начинается с PS, это PowerShell: напечатайте cmd, нажмите Enter и продолжайте в том же окне.

dir "%USERPROFILE%\.ssh"

Если в списке config.txt, Блокнот добавил расширение при сохранении. Переименуйте файл:

ren "%USERPROFILE%\.ssh\config.txt" config

Затем откройте файл и проверьте блок сервера:

Host myvps
    HostName 203.0.113.10
    User root
  • после Host — то самое имя, которое вы пишете в команде ssh;
  • после HostName — только IP или домен сервера: без root@, без https:// и без порта;
  • пользователь — в строке User, порт, если он не 22, — в строке Port.

Подробно о файле — в разделе Короткое имя вместо IP: файл config.

Шаг 4. Проверьте домен

Если вы подключаетесь по домену, например ssh root@example.com, у домена должна быть запись A с IP сервера. Без неё ssh не узнает, куда подключаться.

Как посмотреть записи домена, рассказано в разделе Как проверить домен самому. Если записи A нет или в ней чужой IP, добавьте или исправьте её там, где настраивается DNS домена: у регистратора или у хостинга. Что это за записи — Записи DNS: что в них хранится.

Изменения в DNS расходятся не мгновенно. Пока ждёте, подключайтесь по IP из панели провайдера.

Если в ответе Temporary failure in name resolution

Такой ответ значит, что компьютер не смог спросить DNS. Проверьте, открываются ли сайты в браузере. Если не открываются, дело в подключении к интернету, а не в сервере. Если сайты открываются, а ошибка повторяется, подождите несколько минут и попробуйте снова. Пока ждёте, можно подключиться по IP.

Как проверить

Запустите подключение с подробным отчётом:

ssh -v root@example.com

Если имя нашлось, в отчёте будет строка, где рядом с именем в квадратных скобках стоит IP:

debug1: Connecting to example.com [203.0.113.10] port 22.

Сверьте этот IP с панелью провайдера. Если IP чужой, у домена неверная запись A — вернитесь к шагу 4.

Похожие ошибки

СообщениеЧем отличается
Connection refusedАдрес нашёлся, но на этом порту подключения не принимают
Connection timed outАдрес нашёлся, но сервер не отвечает
No route to hostАдрес нашёлся, но до него нет пути по сети
ERR_NAME_NOT_RESOLVEDТа же проблема с именем, но в браузере
DNS_PROBE_FINISHED_NXDOMAINБраузер: такого домена не существует

Источники

Сверено 9 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 09.10.2026