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.