Próbuję skonfigurować VPN z Raspberry Pi, a pierwszym krokiem jest uzyskanie możliwości dostępu do ssh
urządzenia spoza mojej sieci lokalnej. Z jakiegoś powodu okazuje się to niemożliwe i nie mam najmniejszego pojęcia, dlaczego. Kiedy próbuję połączyć się z ssh
moim serwerem za pomocą user@hostname
, pojawia się błąd:
ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known
Mogę jednak zalogować się do serwera za pomocą,
ssh user@[local IP]
Serwer to Raspberry Pi Model B z najnowszą dystrybucją Raspbian, a maszyna, z którą próbuję się z nim połączyć, to Macbook Pro z systemem Mavericks. ssh
został włączony na Raspberry Pi podczas konfigurowania Raspbian.
Godzinami przeglądałem przepełnienie stosu, próbując sprawdzić, czy ktoś inny miał ten problem i nic nie znalazłem. Każdy ssh
samouczek, który znajduję, mówi, że powinienem być w stanie ustawić go na zdalnym komputerze i zalogować się z dowolnego miejsca przy użyciu nazwy hosta, a nigdy nie odniosłem sukcesu.
źródło
[hostname]
, czego używasz, nie może zostać rozwiązane z miejsca, w którym go wypróbujesz. Czynslookup [hostname]
zwraca Ci to[local IP]
, czego oczekujesz?nslookup [hostname]
wypluwa; Serwer: 8.8.8.8 Adres: 8.8.8.8 # 53 ** serwer nie może znaleźć [nazwa hosta]: NXDOMAIN po uruchomieniu z mojego[hostname]
, prawda?Server: 192.168.0.1 Address: 192.168.0.1#53 ** server can't find mrddr: NXDOMAIN
Odpowiedzi:
Niedawno natknąłem się na ten sam problem. Udało mi się połączyć ssh z moim pi w mojej sieci, ale nie spoza mojej sieci domowej.
Miałem już:
Ustawiłem również przekierowanie portu na moim routerze do hostowania witryny internetowej i miałem nawet port przekierowania portu 22 na statyczny adres IP mojego pi dla ssh, ale zostawiłem pole puste, w którym określasz aplikację, dla której przekierowujesz port router. W każdym razie dodałem „ssh” w tym polu i VOILA! Działające połączenie ssh z dowolnego miejsca do mojego pi.
Wypiszę ustawienia przekierowania portu mojego routera.
Ustawienia przekierowania portów mogą być jednak różne dla różnych routerów, więc poszukaj wskazówek dotyczących routera.
Teraz, gdy jestem poza moją siecią domową, łączę się z moim pi, wpisując:
Wtedy mogę wprowadzić swoje hasło i połączyć się.
źródło
Jeśli używasz komputera Mac, ponowne uruchomienie modułu odpowiadającego DNS rozwiązało problem.
źródło
nslookup
działa, ale ssh / ping / cokolwiek nie działa, to rozwiązuje problem. Dzięki.Miałem ten sam problem z łączeniem się ze zdalnym komputerem. ale udało mi się zalogować jak poniżej:
lub:
źródło
ssh myName@hostname:myPort
ssh
polecenia.Jeśli potrzebujesz dostępu do swojej sieci VPN z dowolnego miejsca na świecie, musisz zarejestrować nazwę domeny i wskazać publiczny adres IP Twojej bramy VPN / sieciowej. Możesz również użyć usługi dynamicznego DNS, aby połączyć nazwę hosta z publicznym adresem IP.
Jeśli potrzebujesz tylko ssh z komputera Mac do Raspberry w sieci lokalnej , zrób to: Na komputerze Mac edytuj
/etc/hosts
. Zakładając, że Raspberry ma nazwę hosta „berry” i adres IP „172.16.0.100”, dodaj jedną linię:Teraz:
ssh user@berry
powinno działać.źródło
Miałem ten sam problem, który udało mi się rozwiązać, dodając .local do nazwy hosta, ala
ssh [email protected]
źródło
ping $(hostname)
działał, ale muszę to zrobićssh $(hostname).local
. Mac jest zwykle świetny… ale kiedy jest do bani, to naprawdę działa…hadoop
zrobićssh user@hostname
i nie mogę po prostu dodać.local
ręcznie. Utknąłem.local
zrobiło to dla mnie na Ubuntu 19.10.W moim przypadku próbowałem ssh w ten sposób
kiedy prawidłowy format to:
źródło
Jeśli twoje polecenie to:
Napotkasz również ten sam błąd
kiedy przegapisz opcję
-i /path/to/pemfile
sshWięc polecenie powinno być:
źródło
ssh -p xxxx user@hostname
Musiałem połączyć się ze zdalnym serwerem Amazon
ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 [email protected]
Otrzymałem następujący błąd.
ssh: Could not resolve hostname <hostname.com>: nodename nor servname provided, or not known
Rozwiązanie dla systemu Mac OSX
Pingowanie hosta rozwiązało problem. Używam systemu Mac OSX Seirra.
ping hostname.com
Teraz problem został rozwiązany. Może połączyć się z serwerem.
Uwaga : wypróbowałem również to rozwiązanie . Ale to nie wyszło. Następnie
ping
rozwiązano problem.źródło
Miałem ten sam problem: adres pokazany w Preferencjach -> Udostępnianie -> Logowanie zdalne nie działał i otrzymałem `` ... nazwa węzła ani nazwa usługi podana lub nieznana ''. Jednak gdy ręcznie zmieniłem ustawienia (w Preferencjach -> Udostępnianie -> Logowanie zdalne -> edytuj) i włączyłem opcję „Użyj dynamicznej globalnej nazwy hosta”, nagle zadziałało.
źródło
Wygląda na to, że niektóre aplikacje nie będą czytać dowiązań symbolicznych
/etc/hosts
(przynajmniej na macOS), musisz je połączyć.ln /path/to/hosts_file /etc/hosts
źródło
Dla mnie problemem była literówka w moim
~/.ssh/config
pliku. Miałem:Problem był
:
pohost1
- nie powinno go tam być.ssh
nie ostrzega o literówkach w~/.ssh/config
pliku. Gdy nie może znaleźćhost1
, szuka maszyny lokalnie, nie może jej znaleźć i wyświetla tajemniczy komunikat o błędzie.źródło
Przydarzyło mi się to, gdy próbowałem uzyskać dostęp do Github. Problem w tym, że miałem w zwyczaju robić:
git remote add <xyz> ssh:\\[email protected]......
Ale jeśli masz ten błąd z pytania, usuń
ssh:\\
może rozwiązać problem. Rozwiązało to dla mnie!Pamiętaj, że będziesz musiał zrobić
git remote remove <xyz>
i ponownie dodać zdalny adres URL bezssh:\\
.źródło
ssh:\\
zamiastssh://
?Spróbuj tego, biorąc pod uwagę dozwolone porty. Na przykład przechowuj
.pem
plik w swoimDocuments
folderze.Aby uzyskać do niego dostęp, wystarczy, że
cd [directory]
przeniesie Cię do katalogu z przydzielonym plikiem. Możesz najpierw wpisaćls
, aby wyświetlić zawartość katalogu, w którym aktualnie się znajdujesz:źródło
Otrzymałem ten błąd, używając pliku inwentaryzacji .yml w ansiblu, który nie został poprawnie sformatowany. W przypadku wielu hostów w grupie każda nazwa hosta musi kończyć się dwukropkiem „:”. W przeciwnym razie ansible uruchamia nazwy hostów razem i generuje ten błąd ssh.
źródło
Miałem ten sam problem po przetestowaniu Visual Studio Code z wtyczką remote-ssh. Podczas konfiguracji zdalnego hosta oprogramowanie zapytało mnie, gdzie przechowywać plik konfiguracyjny. Pomyślałem, że dobrym miejscem jest „.ssh-folder” (system Linux), ponieważ była to zdalna konfiguracja ssh. Okazało się, że to zły pomysł. Następnego dnia po ponownym uruchomieniu komputera nie mogłem zalogować się przez ssh na zdalnym serwerze. Komunikat o błędzie brzmiał „Nie można rozpoznać nazwy hosta: ....... Nazwa lub usługa nieznana”. Stało się tak, że deinstalacja z VSC nie usunęła tego pliku konfiguracyjnego i oczywiście przeszkodziła w zwykłym procesie. „Rm” później problem został rozwiązany (usunąłem ten plik konfiguracyjny).
źródło