Dlaczego Ubuntu nie może uzyskać dostępu do mojego Raspberry Pi w sieci LAN?


9

Okay, niedawno dostałem Raspberry Pi i podłączyłem go do mojego Wi-Fi - włączyłem SSH i zainstalowałem Hiawatha, i mogłem uzyskać do niego dobry dostęp z mojego pulpitu, na którym w tym czasie działał Puppy Linux.

Mogłem również uzyskać do niego dostęp po uruchomieniu w systemie Windows (PuTTY na Win XP Pro), a Netbook również mógł uzyskać do niego dostęp za pośrednictwem PuTTY. (Win 7 Starter)

Jednak po uruchomieniu systemu Ubuntu wszystkie połączenia SSH, HTTP i HTTPS zostały odrzucone. Aby potwierdzić, że to Ubuntu i tylko Ubuntu, które miały problemy z połączeniem, ponownie uruchomiłem Puppy Linux - dobrze podłączony i Windows - dobrze podłączony. Netbook może również łączyć się ze wszystkimi 3 usługami bez problemów. Tylko Ubuntu powiedział, że połączenie odmówiło.

Chciałbym wiedzieć, co jest nie tak - wykonałem już wszystkie podstawowe czynności rozwiązywania problemów: ponowne uruchomienie RPi, ponowne uruchomienie komputera, ponowne uruchomienie routera bezprzewodowego itp. Raspberry Pi nie ma włączonej zapory ogniowej, a mój router oferuje wszystkie urządzenia podłączone do LAN nieograniczony dostęp do siebie. Przeprowadziłem szeroko zakrojone testy, a Ubuntu okazało się bez cienia wątpliwości, że jest jedyną osobą, która nie chce się połączyć.

AKTUALIZACJA: Właśnie przetestowałem dostęp przez mój zewnętrzny adres IP i wszystko działa płynnie na Ubuntu! Jednak Ubuntu nadal nie może uzyskać dostępu do Pi z dowolnego lokalnego miejsca i właśnie potwierdziłem, że moje inne systemy operacyjne mogą . Myślę, że to dziwne, że Ubuntu ma problemy z lokalnym połączeniem (w przeciwieństwie do innych moich systemów operacyjnych), ale ma dobry dostęp do Pi przez mój zewnętrzny adres IP.

UPDATE 2: Wyłączenie mój firewall pozwala mi dostęp do urządzenia, ale hasło donosi jako nieprawidłowe każdy . singiel . czas . Próbowałem wpisać go w Gedit, a następnie przeciągając go i upuszczając do monitu o hasło podczas logowania SSH, i autoryzuje się podczas uzyskiwania dostępu pi@jamestheawesomedude.cu.cc, ale NIE podczas uzyskiwania dostępu pi@192.168.2.128. To jest niesamowicie frustrujące.


2
Pokaż nam logi. ssh -vvv user@hostpo stronie klienta, sudo tail -f /var/log/auth.logpo stronie serwera. Być może sensowne jest również zwiększenie gadatliwości w konfiguracji serwera SSH.
Andrejs Cainikovs

Naprawdę nie ma nic ciekawego, tylko komunikat „odmowa połączenia”: pastebin.com/Nc1W8Mja
JamesTheAwesomeDude

3
FYI: Istnieje również stos malinowy raspberrypi.stackexchange.com
Meer Borg

3
@MeerBorg Jestem już tam użytkownikiem i zastanawiałem się nad tym, ale ALE Ubuntu jest jedynym, który ma problemy z połączeniem. Gdybym nie mógł połączyć się żadną metodą, podejrzewałbym problem z samym Pi, ale ponieważ Ubuntu jest tutaj dziwny, podjąłem decyzję o zapytaniu o to na tej stronie.
JamesTheAwesomeDude

@JamesTheAwesomeDude, powinno być coś bardziej opisowego niż odmowa zwykłego połączenia . Ten komunikat jest wynikiem, ale powinien również pojawić się komunikat o błędzie.
Andrejs Cainikovs

Odpowiedzi:


1

Tak więc, dopóki nie ufwwłączysz ustawień domyślnych na swoim komputerze Ubuntu, połączenie zawsze było zgłaszane Connection refused. Po wyłączeniu ufwna Twoim kliencie połączenie jest ustanowione, ale hasło jest zawsze odrzucane?

Zgaduję, że w takim przypadku twoim problemem jest to, że 192.168.2.128ip jest przekierowywany z powrotem do twojego klienta Ubuntu i faktycznie łączysz się z sshserwerem działającym na twoim Ubuntu. To by wyjaśniało:

  • Dlaczego możesz łączyć się z Internetu?

  • Dlaczego twoje połączenie zostało odrzucone, gdy zapora była włączona na twoim kliencie Ubuntu.

  • Dlaczego połączenie nie jest już odrzucane przy wyłączonej zaporze klienta.

  • Dlaczego teraz nawiązano połączenie, ale uwierzytelnianie nie powiodło się.

Aby rozwiązać ten problem:

  • Sprawdź klucz hosta serwera za pomocą ssh -v pi@192.168.2.128zarówno lokalnego, jak i połączenia internetowego. Czy zgłasza ten sam klucz?

  • Lub podczas łączenia się z lokalnego i monitu o wpisanie hasła z innego terminala: sudo netstat -tupani sprawdź, czy ustanowiono połączenie sshdz Ubuntu.

Chociaż ta sprawa wyjaśnia wszystko, ale jest tak dziwna, że ​​mam wątpliwości, że to twój problem.


#ufw pozwala <port> na dodanie wyjątku. #ssh -v użytkownik @ adres, aby uzyskać pełne wyjście, które powie ci więcej o tym, dlaczego nie możesz się połączyć. „odmowa połączenia” często oznacza, że ​​domyślny port jest nieprawidłowy, ponieważ klient lub serwer zapory blokuje połączenie.
j0h

1
@ j0h Myślę, że chciałeś opublikować ten komentarz jako komentarz do pytania. Ale w każdym razie: w komentarzach OP już dostarczył ssh -vvvdane wyjściowe. Powiedział także w pytaniu, że Pi nie ma włączonej zapory ogniowej, więc ufw jest na kliencie i powiedział, że wyłączył ją, ale nadal nie może się zalogować. Port nie może być problemem, ponieważ może połączyć się z tym samym portem z innych komputerów.
sokolnik

1

Jest całkiem możliwe, że twoja maszyna ubuntu otrzymuje inny sieciowy adres IP niż się spodziewano. Spróbuj wykonać następujące czynności:

  • Na raspi sprawdź jego adres IP za pomocą ifconfig | grep 192.168
  • na maszynie ubuntu sprawdź jej adres IP za pomocą ifconfig | grep 192.168

Aby móc rozmawiać ze sobą w sieci lokalnej, obaj powinni korzystać z tej samej podsieci - spójrz na trzecią sekcję adresu IP, aby sprawdzić, czy tak jest. W twoim przypadku oba powinny znajdować się w podsieci 192.168.2. *.

Upewnij się, że faktycznie mają też inne adresy IP. Może się to wydawać oczywiste, ale może się zdarzyć, jeśli jeden z nich korzysta z DHCP, a drugi jest ustawiony statycznie.

Jeśli to wszystko się sprawdzi, uruchom następującą komendę, aby zobaczyć, dokąd powinny zmierzać twoje pakiety:

route -n

Poszukaj w wynikach podsieci docelowej, która ma zastosowanie do twojego malinowego pi. Naprawdę powinny być tylko 3 rzędy:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

Jeśli masz więcej wierszy lub rzeczy idą w dziwne miejsca, to jest odpowiedź.

Domyślam się, że twoje połączenie ssh kończy się na innym serwerze SSH niż ten na twoim Raspberry pi, dlatego zmiana zapory ogniowej Ubuntu wpłynęła na to i twoje logowanie nie działa.


0

Zgodnie z zawartością PasteBin, „odmowa połączenia” oznacza, że ​​otrzymujesz reset TCP z dowolnego adresu pod tym adresem IP.

Kontrola poczytalności: Podczas rozwiązywania problemów WYŁĄCZ, ufw.

Czy po wyłączeniu zapory na pulpicie możesz pingować Pi z pulpitu? Czy potrafisz pingować pulpit ze swojego Pi?

Po próbie pingowania w obu kierunkach, spójrz na wyjście 'arp -n' na obu komputerach. Czy widzą nawzajem adresy MAC (sprzęt Ethernet), czy może coś przekierowuje / przechwytuje ruch?

Jeśli możesz pingować w obu kierunkach, a „arp -n” wskazuje, że używane są właściwe adresy MAC (zaznacz „ifconfig” na przeciwnej maszynie), następnym krokiem jest sprawdzenie /var/log/auth.log na Pi. Powinien ci powiedzieć, co jest nie tak z próbą połączenia.

Jeśli powyższe nie pomoże, pokaż nam wyniki następujących poleceń na Pi:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save
sudo grep ssh /var/log/auth.log | tail -50

I na pulpicie:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save

Widzę, że niektóre z nich zostały wklejone w powyższych komentarzach, ale najpierw ważne jest, aby złapać się przy wyłączonej zaporze. Jeśli możesz sprawić, że będzie działał przy wyłączonej zaporze, możesz przejść do rozwiązywania problemów z regułami zapory.

Ponadto, nawet jeśli celujesz w adres IP, ustawienia DNS nadal mają znaczenie, ponieważ SSH używa DNS podczas sprawdzania poprawności klucza hosta.


0

Usuń ~/.ssh/known_hostsplik i spróbuj ponownie. Jeśli wcześniej był host z tym samym adresem IP ssh dostępnym, możesz zachować nieprawidłowy odcisk palca


0

Na Ubuntu 13.10 nie mogłem ssh do mojego pi, kiedy wcześniej mogłem na 13.04 i Mint 16. Podczas próby

ssh -vvv user@host

Mam :

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

Natknąłem się na sugestię, która mówi, aby ustawić MTU dla maszyny (nie pi) na 1200 zamiast automatycznej. Zrobiłem to, wyłączyłem -> następnie na moim wifi i po raz pierwszy połączyłem się z ssh do PI. Mam nadzieję, że to komuś pomoże.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.