Nie można połączyć się z Pi w sieci lokalnej za pośrednictwem hostname.local w systemie Windows

15

Po raz pierwszy konfiguruję Raspberry Pi i korzystam z SSHing na komputerze Mac w tej samej sieci:

ssh [email protected]

Jednak w moim systemie Windows 10 (także w tej samej sieci) ta nazwa hosta nie została rozwiązana. Próbowałem ipconfig /flushdns, nslookup raspberrypi.locali podobne polecenia, aby mój komputer z systemem Windows, aby zobaczyć Raspberry Pi, ale bezskutecznie. Ponieważ działa na moim komputerze Mac, nie wygląda na problem z routerem.

Co mogę zrobić, aby połączyć się z moim Pi według nazwy hosta w systemie Windows?

dimo414
źródło
Windows 10 oficjalnie obsługuje teraz SSH przez podsystem Linux.
You'reAGitForNotUsingGit

Odpowiedzi:

21

How To Geek ma dobry artykuł na ten temat. Krótko mówiąc, .localdomeny są zgłaszane przez każdy host (za pośrednictwem Multicast DNS ), a inne komputery w sieci muszą ich słuchać. Windows ma taką usługę ( LLMNR ), jednak jest ona niestandardowa i dlatego nie działa zbyt dobrze. Zamiast tego należy zainstalować usługę Bonjour firmy Apple ( link instalacyjny ). Po zainstalowaniu Bonjour będziesz mógł połączyć się z Pi w systemie Windows za pośrednictwem .localnazw hostów.


Nowoczesne wersje Raspbian powinny być dostarczane z Avahi, aby zapewnić mDNS. Jeśli to nie działa, upewnij się, że avahi-daemonjest zainstalowany i działa na twoim Pi; jeśli nie jest uruchomione, aby go zainstalować:

sudo apt-get install avahi-daemon
dimo414
źródło
Nie zmieniając .localczęściowo do .intlub .homeobejścia tego problemu?
Ismael Miguel
1
@ismael - nie, tld nie jest problemem, to Windows 10 nie wie o urządzeniu ... .local jest skonfigurowany do pracy z siecią lokalną, inny tld będzie działał gorzej / potrzebuję więcej konfiguracji w moim doświadczenie.
DrCord,
Z mojego doświadczenia wynika, że ​​edycja pliku hosts będzie działać. Używam tego do źle skonfigurowanego serwera. (Skonfigurowałem go w ten sposób ze względu na ograniczenia czasowe i ponieważ po prostu testuję jakiś kod przed wdrożeniem). Do tej pory zawsze działało dla mnie.
Ismael Miguel
1
@ IsselMiguel edycja pliku hosts działa, ale nie jest to bardzo solidne rozwiązanie. Za każdym razem, gdy komputer otrzymuje nowy adres IP, musisz edytować plik, a jeśli masz wiele komputerów, z których próbujesz się połączyć, musisz zsynchronizować wiele plików hosta. mDNS robi to wszystko za Ciebie.
dimo414,
W przypadku mDNS / Bonjour / Avahi nigdy nie należy zmieniać TLD. Lokalny jest oficjalny określony w RFC, a wielu urządzeń (takich jak wiele drukarek) nie można nawet ponownie skonfigurować na inną TLD. Ponadto .local z pewnością nie zostanie przypisany jako oficjalna TLD (chociaż był już szeroko stosowany w domenach Active Directory, gdy mDNS został skodyfikowany). .home praktycznie gwarantuje konflikty.
user87363