SSH do Raspberry Pi bez znajomości adresu IP


35

Mam Raspberry Pi podłączony do sieci Ethernet i komputera Mac (choć kabel USB).

Próbuję SSH w Pi, ale nie znam adresu IP. Próbowałem :

 ifconfig

ale mam, nie widzę eth0

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
        ether a8:20:66:09:f8:36 
    media: autoselect (none)
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 7c:d1:c3:d8:b5:dd 
    inet6 fe80::7ed1:c3ff:fed8:b5dd%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.91.16 netmask 0xffffff00 broadcast 192.168.91.255
        media: autoselect
    status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
        lladdr 00:3e:e1:ff:fe:7f:a0:82 
    media: autoselect <full-duplex>
    status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 0e:d1:c3:d8:b5:dd 
    media: autoselect
        status: inactive


Jak zainstalowałeś lseases na architekturze pi? .. nie ma plików binarnych dla ARMv6hf
— user2649476,

Mam rozwiązanie za pomocą jednego polecenia, żadne oprogramowanie nie jest wymagane. Przygotowałem na ten temat samouczek. https://www.youtube.com/watch?v=PWMVowAK6wg
— Kraj Technocrates


Odpowiedzi:


19

Wypróbuj Pi Finder na Maca, aby odkryć adres IP RPi za pomocą bezgłowej jednostki RPi.

Chociaż w edytowanym pytaniu wygląda na to, że adres IP znajduje się na liście en0jako 192.168.91.16, zakładając, że twój ifconfigwynik pochodzi z RPi.


Con gusto :) I fwiw, inne narzędzia Pi Filler i Pi Copier są również bardzo przydatne.
— einnocent

24

Możesz wyszukać adres IP według nazwy hosta. Zakładając, że nazwa hosta twojego Pi to „raspberrypi”

Oto jak uzyskać adres IP za pomocą polecenia ping i nazwy hosta.

Z systemu Linux: ping raspberrypi
Z systemu Windows: ping raspberrypi
Z systemu OS X:ping raspberrypi.local

Aby polecenie działało z systemu Windows, musisz mieć Sambę działającą na swoim Pi. Możesz zainstalować Sambę za pomocą polecenia sudo apt-get install samba.


3
Używanie samby na RPi tylko do nadawania nazwy hosta jest jak zabijanie muchy młotem. Lepiej używaj avahi. thomasloughlin.com/…
— ripat

Niektórzy ludzie chcą najłatwiejszego rozwiązania. Niektórzy ludzie chcą najbardziej wydajnego rozwiązania. Dla tych, którzy szukają łatwego rozwiązania, instalacja samby nie może być prostsza niż polecenie w jednym wierszu. Plus sugerowane przez ciebie rozwiązanie avahi działa łatwo tylko z systemu OS X. Jeśli chcesz, aby działało w systemie Windows, potrzebujesz Bonjour, który otrzymasz po zainstalowaniu iTunes. Więc zasadniczo zastępujesz młot samby młotem iTunes.
— geoji

Chociaż myślę, że liczba osób, które mają zainstalowany program iTunes, ponieważ i tak go potrzebują, aby korzystać z iDevice, jest większa niż liczba osób korzystających z Samby. @geoji
— 11684

Nie musisz instalować samby na komputerze klienta. Samba musi zostać zainstalowana tylko raz na Raspberry Pi. Minusem podejścia iTunes jest to, że trzeba go zainstalować na każdym komputerze, z którego należy znaleźć adres IP.
— geoji

1
ping raspberrypi.local działa w systemie Windows w przeglądarce internetowej i dla ssh w nowym systemie raspbian po wyjęciu z pudełka z plikiem ssh w trakcie uruchamiania. Zarówno samba, jak i iTunes są niepotrzebne.
— Klan

11

Czy Pi i Mac są w tej samej sieci? W takim razie po prostu arp -ago znajdowałem. Istnieje jednak wiele innych metod, wymienionych tutaj: https://apple.stackexchange.com/questions/19783/how-do-i-know-the-ip-addresses-of-other-computers-in-my-network ? rq = 1


3
arp -abędzie działał tylko wtedy, gdy komputer Mac już pomyślnie sonduje lub jest podłączony do hosta. Spróbuj ponownie, uruchamiając ponownie komputer Mac i wyświetlając tabelę arp. Będzie prawie pusty. Aby zapełnić tę tabelę, musisz uruchomić coś w rodzaju skanowania ping:nmap -sP 192.168.91.0/24
— ripat

@ripat Wow, co czyni go prawie bezużytecznym.
— 11684

1
Obejście: nmap -sP 192.168.91.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'patrz mój komentarz do tego wątku
— ripat

... i musisz uruchomić powyższą komendę jako rootsudo nmap .....
— ripat

5

Opracowałem wieloplatformowe narzędzie do szybkiego znajdowania lokalnego adresu IP Raspberry Pi:

Artykuł na ten temat: Pi-oi: narzędzie do wyszukiwania lokalnego adresu IP twojego Raspberry Pi


Wspaniały! Działa świetnie!
— Fedir Tsapana

Przetestowany. Obserwowane: błędnie rozpoznano Orange Pi jako Pi! Jednak nie można rozpoznać Raspbian na Rpi 0 i Rpi 2, nawet gdy odpowiedź hosta pokazuje Raspbian.
— Angsuman Chakraborty

Czy możesz wkleić zrzut ekranu?
— Tho

2

Używanie pingi arpnie działałoby dla mnie, ponieważ w mojej sieci malinie przypisano inną nazwę hosta.

Ale udało mi się użyć lsleases , jest to również zalecane na stronie Raspberry PI.

Po zainstalowaniu lslease , uruchom serwer za pomocą sudo lsleases -s; następnie uruchom ponownie Raspberry PI i poczekaj na pojawienie się adresu IP.

$ sudo lsleases -s
[sudo] password for sebastian: 
2015/01/15 15:36:40 startup -  version:  1.4.0
2015/01/15 15:36:40 enable active check - ping every: 15m

# Reboot your Raspberry PI and wait

2015/01/15 15:37:10 new DHCP Lease: '132.231.71.116  b8:27:eb:f5:c3:4a raspberrypi'

Voila ...


1

Jeśli jest to Twoja sieć domowa, możesz łatwo zalogować się do routera, ponieważ większość z nich wyświetla gdzieś tam adresy IP klientów. Adres IP routera można znaleźć, wpisując ipconfig(Windows) lub ifconfig(Mac, Linux itp.), I będzie wymieniony w polu Brama . Adres IP routera jest zwykle 192.168.1.1.


1

„en1” to twój adres ethernetowy przy użyciu „ifconfig”. Ale nie musisz szukać adresów IP - po to są nazwy hostów i DNS. Mówisz, że jesteś na komputerze Mac, więc po prostu „ssh pi@raspberrypi.local”. Niech DNS wykona pracę w tle. Jeśli nadałeś swojemu PI nazwę hosta, powiedz „papagoose”, a masz nazwę użytkownika „mama”, wpisz „ssh mama@papagoose.local”. Jeśli korzystasz z bezpiecznego systemu operacyjnego Windows, po prostu upuść plik „.local”.


1

Jeśli chcesz do tego użyć aplikacji GUI, możesz użyć Yakala narzędzia ( https://github.com/mozcelikors/yakala ) dla Debiana / Ubuntu. To narzędzie pomaga nie tylko wyszukiwać dostępne sieci typu B i typu C, ale także pomaga bezpośrednio połączyć SSH z siecią:

sudo add-apt-repository ppa:mozcelikors/yakala
sudo apt-get update
sudo apt-get install yakala

lub

git clone https://github.com/mozcelikors/yakala
cd yakala && sudo ./install.sh

https://raw.githubusercontent.com/mozcelikors/yakala/master/docs/img/peekx2.gif

Oświadczenie: Jestem twórcą Yakala. Wszelkie sugestie / błędy są traktowane bardzo poważnie.


0

Oto jak loguję się do mojego Raspberry Pi:

IP=$(sudo nmap -p 22 --open -sV 192.168.0.0/24 | grep 192 | awk '{print $NF}') && ssh pi@$IP

Znajdź otwarty port SSH w sieci lokalnej, pobierz do niego adres IP, SSH.



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.