ssh: не удалось разрешить имя хоста [имя хоста]: nodename или servname предоставлено или неизвестно



Я пытаюсь настроить VPN с помощью Raspberry Pi, и первым шагом является получение возможности ssh в устройство извне локальной сети. По какой причине это оказывается невозможным, и я не имею ни малейшего понятия, почему. Когда я пытаюсь ssh на мой сервер с user@hostname, Я получаю ошибку:



ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known 


однако, я могу войти на сервер с помощью,



ssh user@[local IP]


сервер представляет собой Raspberry Pi Model B с последним дистрибутивом Raspbian и машина, с которой я пытаюсь подключиться к нему, - это Macbook Pro под управлением Mavericks. ssh был включен на Raspberry Pi, когда я настроил Raspbian.



Я просматривал переполнение стека в течение нескольких часов, пытаясь увидеть, если кто-то еще имел эту проблему, и я ничего не нашел. Каждый ssh учебник, который я нахожу, говорит, что я должен просто настроить его на удаленной машине и войти в систему из любого места, используя имя хоста, и у меня никогда не было успеха с этим.

1906   10  

10 ответов:

недавно я столкнулся с той же проблемой. Я смог ssh к моему pi в моей сети, но не из-за пределов моей домашней сети.

У меня уже было:

  • установлен и протестирован ssh в моей домашней сети.
  • установите статический IP для моего pi.
  • настройка динамической службы DNS и установка программного обеспечения на моем pi. Я ссылался на эти - инструкции для настройки статического ip, и есть еще много учебных ресурсов там.

кроме того, я настроил Port forward на своем маршрутизаторе для размещения веб-сайта, и у меня даже был порт forward port 22 для статического IP-адреса моего pi для ssh, но я оставил поле пустым, где вы указываете приложение, для которого вы выполняете переадресацию портов на маршрутизаторе. В любом случае, я добавил " ssh " в это поле и, вуаля! Рабочее ssh-соединение из любого места на мой pi.

Я запишу настройки переадресации портов моего маршрутизатора.

(ApplicationTextField)_ssh (внешний порт)_22 (внутренний порт)_22 (протокол)_Both (на IP-адрес) _192.168.1.### (Включен)_checkBox

настройки переадресации портов могут быть разными для разных маршрутизаторов, поэтому посмотрите направления для вашего маршрутизатора.

теперь, когда я нахожусь вне своей домашней сети, я подключаюсь к своему pi, набрав:

ssh pi@[имя хоста]

тогда я могу ввести свой пароль и подключаться.

у меня была такая же проблема с подключением к удаленной машине. но мне удалось войти, как показано ниже:

ssh -p 22 myName@hostname

или:

ssh -l myName -p 22 hostname

Если вы находитесь на Mac, перезапуск DNS-ответчика исправил проблему для меня.

sudo killall -HUP mDNSResponder

Если вам нужен доступ к VPN из любой точки мира, вам нужно зарегистрировать доменное имя и указать его на общедоступный ip-адрес вашего VPN/сетевого шлюза. Вы также можете использовать динамическую службу DNS для подключения имени хоста к общедоступному ip-адресу.

Если вам нужно только ssh с вашего Mac на ваш Raspberry внутри вашей локальной сети, сделайте это: на вашем Mac, редактировать /etc/hosts. Предполагая, что малина имеет имя хоста "berry" и ip "172.16.0.100", добавьте один линия:

# ip           hostname
172.16.0.100   berry

Теперь: ssh user@berry должны работать.

У меня была та же проблема, которую я смог решить, добавив a .локальный для имени хоста, ala ssh [email protected]

если ваша команда:

$ ssh -p 1122  path/to/pemfile user@[hostip/hostname]

вы также столкнетесь с той же ошибкой

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known

когда вы пропустите параметр -i /path/to/pemfile СШ

поэтому команда должна быть:

$ ssh -p 1122 -i path/to/pemfile user@[hostip/hostname]

У меня была та же проблема: адрес, показанный в настройках -> общий доступ -> удаленный вход не работал, и я получил '... nodename или servname предоставляются, или не известны'. Однако, когда я вручную отредактировал настройки (в настройках -> общий доступ -> удаленный вход -> редактировать) и включил "использовать динамическое глобальное имя хоста", это внезапно сработало.

enter image description here

enter image description here

это происходило со мной при попытке получить доступ к Github. Проблема в том, что я имел привычку делать:

git remote add <xyz> ssh:\[email protected]......

но, если у вас есть эта ошибка из вопроса, удаление ssh:\ может решить проблему. Это решило все за меня!

обратите внимание, что вам придется делать git remote remove <xyz> и повторно добавить удаленный url без ssh:\.

мне нужно было подключиться к удаленному серверу Amazon

ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 [email protected]

Я получаю следующую ошибку.

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

решение для Mac OSX

Pinging хост решил проблему. Я использую Mac OSX Seirra.

ping hostname.com

теперь проблема решена. Возможность подключения к серверу.

Примечание: я пробовал данное решение также. Но из этого ничего не вышло. Затем ping решен вопрос.

попробуйте это, учитывая ваши разрешенные порты. Храните ваш в своем Documents папка, например.

чтобы получить доступ к нему теперь все, что вам нужно сделать, это cd [directory], который перемещает вас в каталог выделенного файла. Вы можете сначала ввести ls, чтобы перечислить содержимое каталога, в котором вы находитесь в данный момент:

ls
cd /Documents
chmod 400 mycertificate.pem
ssh -i "mycertificate.pem" [email protected] -p 80

Comments

    Ничего не найдено.