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
Alex Garulli
źródło
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
Możliwy duplikat Przygotuj się na ssh bez ekranu .
Możliwy duplikat Jak uzyskać adres IP Raspberry Pi dla SSH
Brian Carlton

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.

niewinny
źródło
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.

geoji
źródło
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

11684
źródło
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

Chociaż
źródło
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 ...

sebastian
źródło
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.

jeffresc
źródło
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 [email protected]”. Niech DNS wykona pracę w tle. Jeśli nadałeś swojemu PI nazwę hosta, powiedz „papagoose”, a masz nazwę użytkownika „mama”, wpisz „ssh [email protected]”. Jeśli korzystasz z bezpiecznego systemu operacyjnego Windows, po prostu upuść plik „.local”.

Kołatki wódki
źródło
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.

mozcelikors
źródło
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.

Erwin Rooijakkers
źródło
0

Spędzam mało czasu, żeby to rozgryźć i wreszcie jedno rozwiązanie, które działa dobrze.

Spójrz na to http://angryip.org/download/#windows

Wierzę, że „arp -a” również poda adres IP, ale narzędzie, o którym wspomniałem powyżej, dostarczy szczegółowych informacji.

wprowadź opis zdjęcia tutaj

Jickson Johnson Koottala
źródło
0

Dla mnie arp działa idealnie przez większość czasu, jeśli mac i malina są w tej samej sieci.

arp -na | grep b8:27

lub możesz użyć nmap (zmień CIDR na swój)

nmap -sn 192.168.1.0/24

https://installvirtual.com/find-ip-of-raspberry-pi/

Chetan kapoor
źródło
Używanie arp i nmap zostało już powiedziane w poprzednich odpowiedziach. Nie pomaga tylko powtarzanie odpowiedzi.
Ingo