Chcę uzyskać dostęp do serwera SSH na Raspberry Pi (z Raspbian OS) z klienta SSH na komputerze X86_64 z Ubuntu 14.04, oba zlokalizowane w tej samej domowej sieci LAN.
Jestem w stanie SSH z Raspberry Pi przy użyciu następującego polecenia ssh pi@73.***.***.***
:; gdzie 73.***.***.***
jest adres IP, który można routować przez Internet, przydzielony mi przez dostawcę usług internetowych. Ale gdy próbuję ssh [email protected]
terminal natychmiast powraca: ssh: Could not resolve hostname pi.local: Name or service not known
. Podobnie, gdy próbuję, ssh [email protected]
terminal zwraca ssh: Could not resolve hostname raspberrypi.local: Name or service not known
.
Ponadto, kiedy próbujęssh pi@raspberrypi
następnie terminal monituje mnie o podanie hasła do pi @ raspberrypi. Po wpisaniu hasła nic się nie dzieje; nie ma komunikatu o błędzie, w ogóle nie ma opinii. Na początku pustej linii jest tylko migający kursor. Migający kursor NIE jest wyświetlany po zachęcie powłoki, tj. nie pojawia się po foo@localhost:~$
monicie. Są podobne wyniki, kiedy próbuję, ssh [email protected]
jak wtedy, gdy próbowałem ssh pi@raspberrypi
.
Chcę i myślę, że powinienem być w stanie wykonać SSH, podając lokalny adres IP lub nazwę hosta, zamiast polegać na publicznym adresie IP. Jeśli to możliwe, jak mogę to osiągnąć? Ktoś zasugerował, że powinienem dodać wpis do pliku hosts komputera (Ubuntu), aby rozwiązać problem z rozpoznawaniem nazw. Nie mam pojęcia na temat plików hostów i nie wiem, jak postępować. Czy ktoś może pomóc?
źródło
Odpowiedzi:
Możesz edytować hosty plików znajdujące się w katalogu etc:
Na końcu pliku umieść następujący wiersz:
Pamiętaj, że 192.168.xxx.xxx musi być adresem IP twojej maliny.
źródło
W katalogu / etc znajduje się plik o nazwie hosts. Dodaj wpisy do pliku, aby rozwiązać nazwy hostów. Można powiązać
raspberrypi
z192.168.2.16
tak aby system do rozstrzygnięciaraspberrypi
do192.168.2.16
. Domyślnie w pliku jestlocalhost
powiązany tylko jeden wpis127.0.0.1
. Składnia jest dość prosta i składa się wyłącznie z adresu IP i nazwy hosta.Upewnij się, że nie masz
#
przed wpisem, bo będzie to tylko komentarz w kodzie.Za każdym razem, gdy wpisujesz adres IP, zostaje on rozwiązany na poziomie systemu przy użyciu tego pliku. Jeśli nazwa hosta nie zostanie znaleziona w tym pliku, nazwa hosta zostanie przekazana do domyślnej bramy w celu rozwiązania problemu. Przekazuje się dalej w zależności od projektu sieci, na końcu której ostatecznie pojawia się błąd
hostname could not be resolved
.Musisz zrozumieć tę hierarchię i dowiedzieć się, gdzie dokładnie jest problem. Ponieważ pracujesz w sieci LAN, nie sądzę, że byłoby to takie skomplikowane.
źródło