Не удается подключиться к Pi в локальной сети через hostname.local в Windows

15

Я впервые настраиваю Raspberry Pi и подключаюсь к нему по SSH на Mac в той же сети, вот так:

ssh pi@raspberrypi.local

Однако в моем окне Windows 10 (также в той же сети) это имя хоста не разрешается. Я пробовал ipconfig /flushdns, nslookup raspberrypi.localи подобные команды , чтобы получить мою машину Windows , чтобы увидеть Raspberry Pi , но безрезультатно. Поскольку он работает на моем Mac, это не похоже на проблему с роутером.

Что я могу сделать, чтобы подключиться к моему Pi по имени хоста в Windows?

dimo414
источник
Windows 10 теперь официально поддерживает SSH через подсистему Linux.
YouAGitForNotUsingGit

Ответы:

21

Как To Geek имеет хорошую статью, которая освещает эту проблему. В двух словах, .localдомены самоотчетны каждому хосту (через Multicast DNS ), и другие машины в сети должны их прослушивать. Windows поставляется с такой службой ( LLMNR ), однако она нестандартна и поэтому не очень хорошо работает. Вместо этого вам следует установить службу Apple Bonjour ( установить ссылку ). После установки Bonjour вы сможете подключаться к своему Pi в Windows через .localимена хостов.


Современные Raspbian версии должны поставляться с Avahi для обеспечения mDNS. Если он не работает, убедитесь, что avahi-daemonон установлен и работает на вашем Pi; если он не запущен, установите его:

sudo apt-get install avahi-daemon
dimo414
источник
Не поменять ли .localчасть .intили .homeобойти эту проблему?
Исмаэль Мигель
1
@ismael - нет, tld не является проблемой, это Windows 10, не зная об устройстве ... .local настроен для работы с локальной сетью, другой tld будет работать хуже / нужно больше настроек в моем опыт.
DrCord
По моему опыту, редактирование файла hosts будет работать. Я использую это для плохо настроенного сервера. (Я настроил это так из-за нехватки времени и потому, что это просто для проверки кода перед развертыванием). Пока что всегда работал на меня.
Исмаэль Мигель
1
@IsmaelMiguel редактирование файла hosts работает, но это не очень надежное решение. Каждый раз, когда машине назначается новый IP-адрес, вам нужно отредактировать файл, и если у вас есть несколько машин, с которых вы пытаетесь подключиться, вам нужно синхронизировать несколько файлов хоста. mDNS делает все это за вас.
dimo414
С mDNS / Bonjour / Avahi вы никогда не должны менять TLD. Local является официальным, указанным в RFC, и многие устройства (например, многие принтеры) даже не могут быть перенастроены для другого TLD. Кроме того, .local гарантированно никогда не будет назначен в качестве официального TLD (хотя он уже широко использовался для доменов Active Directory, когда кодировался mDNS). .home практически гарантированно вызывает конфликты.
user87363