W domu mam Raspberry Pi model B, ale nie mam ekranu. Mój plan polega na podłączeniu go do sieci Ethernet, a następnie podłączeniu do niego ssh. Oznacza to jednak, że najpierw należy przygotować kartę SD z systemem operacyjnym (Debian Squeeze). Widzę dwa sposoby:
Przygotuj SD z systemem operacyjnym, tak aby RPi zawsze łączył się z Ethernetem pod stałym adresem IP i umożliwiał serwer SSH.
Przygotuj kartę SD z systemem operacyjnym, tak aby RPi łączyła się z siecią, włącza serwer SSH, a następnie rozgłasza swój adres IP, aby mógł w nim ssh.
Który z tych sposobów jest łatwiejszy? Jak mam to zrobić? Czy są inne sposoby?
Mam następujące narzędzia: Ubuntu 10.4, MacOS 10.5, Windows 7, ale tylko Ubuntu ma czytnik kart. Niestety nie mogę uzyskać dostępu do tabeli DHCP routera, jest ona całkowicie zamknięta.
Odpowiedzi:
Aby włączyć ssh podczas uruchamiania, wykonaj kopię zapasową
boot.rc
na partycji rozruchowej obrazu SD i zamień ją naboot_enable_ssh.rc
Nie wiem o twoim routerze, ale możesz skonfigurować go tak, aby zarezerwować stały adres IP dla adresu MAC twojego Pi.
źródło
Skopiuj
boot_enable_ssh.rc
doboot.rc
z/boot
w Raspberry Pirootfs
(karta SD)Nadal w Raspberry Pi
rootfs
edytuj/etc/network/interfaces
, aby mieć przypisany stały adres IP (więc nie jest potrzebny serwer DHCP ). Na przykład,Uruchom Raspberry Pi, użyj kabla Ethernet, aby podłączyć go do tej samej sieci, do której jest podłączony komputer (lub podłącz go bezpośrednio do komputera) i zaloguj się przez SSH:
Zainstaluj lekki serwer VNC w swoim Raspberry Pi:
Następnie uruchom serwer VNC (zostaniesz poproszony o ustawienie hasła):
Zainstaluj klienta VNC na komputerze:
Następnie połącz się z Raspberry Pi przez VNC z komputera:
Po prostu działa tutaj w ten sposób :)
źródło
Żadna z tych
boot_enable_ssh.rc
rzeczy nie istnieje w obecnych kompilacjach Raspian. Uruchamiasz, ładne menu graficzne daje ci pewne opcje (w tym, czy SSHD powinno się ładować przy starcie), a następnie zrzuca cię z linii poleceń.To świetnie, jeśli ... jesteś użytkownikiem graficznym.
Jeśli nie, jesteś w pozycji, w której musisz jakoś uciekać z zewnątrz
update-rc.d
. Wszystko, co naprawdę robi, to tworzenie dowiązania symbolicznego do/etc/init.d/...
skryptu w różnych punktach/etc/rc{0..6}.d/...
systemu plików. Zmieszany? Nieważne - wyrządzenie szkód jest proste.Zakładam, że robisz to z komputera z systemem Linux. Przynajmniej coś przy użyciu bash lub coś kompatybilnego. To, co sugeruję, nie będzie działać w systemie Windows bez Cygwin (lub innego). Zamontuj kartę SD i włóż
cd
do niej.Biegać:
Odmontuj i uruchom. Powinieneś mieć do niego dostęp przez SSH.
Jeśli masz problem ze znalezieniem go w sieci ...
Trzy opcje dla Ciebie:
ifconfig
(oszustwo!)Użyj
nmap
na innym komputerze, aby go wyszukać. Powinieneś wiedzieć, jaki adres IP ma mniej więcej (do / 24), więc skanowanie jest proste:źródło
ping -b 192.168.0
lub ekwiwalent? Nie jestem pewien, czy to opłacalne, ponieważ właśnie przetestowałem to na dwóch routerach bez powodzenia. Wydaje się, że jest często blokowany.arping
; robi to, co narzucą osobne polecenia ping i arp, ale bez zalewania sieci pakietami ICMP.arp -a
nie robi tego sam.Jeśli korzystasz z dystrybucji Arch Linux , po prostu podłącz ją i poczekaj, aż jej adres zostanie przypisany z serwera DHCP . Następnie możesz sprawdzić status DHCP (na przykład łącząc się z routerem) i pobrać adres IP z listy podłączonych klientów. Jeśli to się nie powiedzie, możesz użyć
nmap
lub podobnych narzędzi do przeskanowania całej podsieci w poszukiwaniu otwartego portu 22 (SSH jest domyślnie włączony).źródło
Po masowych atakach botnetów w 2016 r. Z powodu łatwego hakowania urządzeń IoT przy użyciu domyślnych haseł, Raspbian po raz kolejny ma domyślnie wyłączone SSH ( źródło ).
Poprawka jest dość łatwa, wystarczy utworzyć plik na
boot
partycji (a nie w katalogu w systemie plików root)ssh
. Aby sprawdzić, czy jesteś na właściwej partycji, powinna ona mieć plik o nazwiestart.elf
.Nie zapomnij zmienić hasła po!
Aby znaleźć moje Pi w mojej sieci, użyłem
sudo arp-scan -l
, chociażsudo nmap -sS --open -O 192.168.1.0/24
jest to również ważna, ale wolniejsza opcja.źródło
Używając obrazu beta Debian 7 (Wheezy), SSH jest domyślnie zainstalowany i włączony. Musisz się z nim połączyć przez jego adres IP.
Istnieje kilka sposobów, aby dowiedzieć się, jaki adres IP ma Raspberry Pi bez konieczności uruchamiania
ifconfig
go bezpośrednio, na przykład:źródło
Prosty sposób (jeśli masz tylko klawiaturę)
SSH nie jest domyślnie włączony w Debian Wheezy (Raspbian).Dawno, dawno temu SSH zdecydowanie nie było włączone na moich obrazkach Raspbian. Najwyraźniej SSH jest teraz domyślnie włączony. Ale jeśli tak nie jest i utkniesz, czytaj dalej:Włączenie tego jest bardzo proste, o wiele prostsze niż większość odpowiedzi, które tu widziałem, jeśli masz klawiaturę USB:
Włącz SSH za pomocą:
Na wszelki wypadek wpisz hasło „malina”, ponieważ jest to
sudo
polecenie, i naciśnij klawisz Enter.Powinieneś być teraz w stanie zdalnie zdalnie sterować swoim RPi, korzystając z jego adresu IP w sieci.
Jak wspomniał Denis Mitropolskiy , narzędzie konfiguracyjne ułatwia konfigurację SSH w tym momencie:
Wystarczy przejść do opcji „ssh”. Na szczęście działa to w sesji SSH, więc jedynym poleceniem, które musisz uruchomić „na ślepo”, jest pierwsze z powyższych.
źródło
Nie można powiedzieć, czy SSH działa od razu po wyjęciu z pudełka, ale najnowsza wersja narzędzia konfiguracji ma polecenie „Włącz SSH”. Potem mogłem połączyć się z moim Raspberry przez sieć. Ale aby go włączyć, i tak potrzebujesz monitora.
źródło
Jedno zastrzeżenie: w przypadku Arch Linux działało to dla mnie tylko wtedy, gdy miałem Ethernet podłączony przed uruchomieniem Raspberry Pi (a potem działał dobrze: sshd był domyślnie włączony). Jeśli najpierw uruchomię, a następnie podłączę kabel Ethernet, Raspberry Pi nigdy nie kontaktuje się z serwerem DHCP w celu uzyskania adresu IP.
źródło
Bez routera + bez ekranu + zwykły kabel Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + host Ubuntu 18.10
Najpierw musimy włączyć serwer SSH na Pi, który jest domyślnie wyłączony dla bezpieczeństwa.
Jeśli masz już powłokę na Pi za pomocą metody innej niż SSH, takiej jak screen + klawiatura lub UART (patrz poniżej), po prostu uruchom:
jak wyjaśniono na stronie: SSH nie działa przy świeżej instalacji. To się powtarza podczas rozruchu.
W przeciwnym razie włóż kartę SD na hoście i utwórz magiczny pusty plik o nazwie
ssh
plik naboot/
partycji.Na hostach Ubuntu jest montowany automatycznie i możesz wykonać tylko:
co możesz potwierdzić za pomocą:
który zawiera:
Jeśli nie włączysz demona SSHD na Pi, połączenie SSH nie powiedzie się:
kiedy spróbujemy później.
Po włączeniu serwera SSH
Następnie uruchom Pi i podłącz kabel Ethernet z laptopa bezpośrednio do Pi:
W systemie Ubuntu 17.04, aby obejść ten błąd, jak wspomniano w tej odpowiedzi , najpierw potrzebujesz:
Na hoście otwórz menedżera sieci:
I idź:
+
znak (Dodaj nowe połączenie)Znajdź adres IP komputera Pi na hoście:
wyprowadza coś takiego:
10.42.0.160
jest adresem IP, a następnie, jak zwykle:Mam również następujące elementy
.bashrc
:Zauważ, że wewnątrz Pi można zauważyć, że może on normalnie uzyskać dostęp do Internetu za pośrednictwem innych interfejsów hosta:
Na przykład na moim laptopie Pi zajmuje Ethernet, ale host jest również podłączony do Internetu za pośrednictwem Wi-Fi.
Kabel krosowany nie jest wymagany, jeśli karta sieciowa hosta obsługuje Auto MDI-X . Dotyczy to najnowszego sprzętu, w tym na przykład testowanego przeze mnie Lenovo T430 2012, który ma „Intel® 82579LM Gigabit Network Connection”, który dokumentuje obsługę Auto MDI-X .
Teraz możesz także:
Konwerter szeregowy USB UART
Jest to alternatywa dla SSH, jeśli chcesz po prostu uzyskać powłokę na Pi: https://en.wikipedia.org/wiki/Serial_port
Nie używa to SSH ani samego sieci, ale raczej starszy, prostszy, bardziej bezpośredni, bardziej niezawodny, mniejszą przepustowość, niższy interfejs szeregowy. Dzięki tej metodzie Pi nie będzie miało dostępu do Internetu.
Komputery stacjonarne nadal mają port szeregowy, który można podłączyć bezpośrednio do drutu za pomocą Pi, ale są one ukryte w większości laptopów, dlatego musimy kupić tani adapter USB. Tutaj użyłem: https://www.amazon.co.uk/gp/product/B072K3Z3TL Zobacz także: https://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882
Najpierw podłącz kartę SD do hosta i edytuj
config.txt
plik obecny na pierwszej partycji, aby dodać:jak wyjaśniono na stronie : https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Ta pierwsza partycja zawiera bootloader, pliki konfiguracyjne i jądro (Linux / your), które
config.txt
są jednym z nich. Druga partycja zawiera rzeczywisty główny system plików Linux.Teraz podłącz swój komputer do Pi jako:
Musisz tylko podłączyć 3 kable:
Jest to również udokumentowane na stronie : https://www.raspberrypi.org/documentation/usage/gpio/README.md
Uważaj, aby nie połączyć uziemienia z napięciem 5 V. W ten sposób spaliłem już 2 układy UART do układów USB!
Nie musisz w ogóle podłączać 5 V do 5 V. Myślę, że możesz tak zasilać swoje Pi, ale przeczytałem, że to zły pomysł, po prostu użyj zwykłego źródła zasilania USB.
Na koniec podłącz stronę USB złącza do komputera hosta i uzyskaj powłokę z:
Wyjdź z
Ctrl-A \
.Oto wideo Adafruit pokazujące to: https://www.youtube.com/watch?v=zUBPeoLW16Q
źródło
Jeśli korzystasz z Debiana, możesz całkiem łatwo pożyczyć ekran i sieć dla swojego RPi na kilka minut od znajomego. Jeśli nie, możesz po prostu przetestować polecenia „nmap” i „ssh” z hosta Ubuntu.
Po prostu sprawdź, czy pakiet openssh-server jest zainstalowany, i gotowe. Robisz to z wiersza poleceń za pomocą
aptitude install openssh-server
. Możesz także sprawdzić lub zmienić nazwę RPi, gdy jesteś zalogowany na maszynie. Możesz również sprawdzić, czy pakietavahi-utils
iavahi-daemon
są zainstalowane, po prostu spróbujaptitude install avahi-utils
.Pakiet / program avahi zaimplementuje protokół Apple MDNS / DNS-SD, który ogłosi się innym komputerom, które używają tego protokołu jako komputera w domenie DNS
local
. Jeśli więc twoja maszyna zostanie wywołanarpi-machine
, spróbuj połączyć się z nią za pomocąrpi-machine.local
.Możesz sprawdzić w pliku,
/etc/nsswitch.conf
czy masz tam ten wiersz:Zarówno Twój komputer Apple, jak i Ubuntu powinny to zaimplementować. Twój komputer MS Windows 7 tego nie robi. Na komputerze Ubuntu możesz wypróbować to polecenie:
lub
Powinieneś następnie uzyskać listę wszystkich swoich maszyn i ich usług, takich jak SSH i HTTP.
Możesz także spróbować zainstalować pakiet
nmap
na komputerze Ubuntu. Następnie możesz sprawdzić, na której sieci pracujesz, za pomocą polecenia,ip route list
aby sprawdzić, na której sieci IP jesteś. Na przykład na moim komputerze mogę dostać coś takiego (to z example.com, więc nie używaj go):mówi mi, że jestem w sieci,
192.0.43.0/24
a router jest192.0.43.1
. Więc jeśli uruchomisz polecenienmap 192.0.43.0/24
, spróbuje znaleźć wszystkie maszyny w twojej sieci i powie, które porty są otwarte. Poszukaj portu22/tcp
, ponieważ są to serwery ssh.źródło
Udało mi się skonfigurować Raspberry PI bez ekranu lub klawiatury, wykonując następujące czynności:
Pobierz najnowszy obraz debian-pi / raspbian-ua-netinst . Obecny jest
raspbian-ua-netinst-v1.0.7.img.bz2
. Pobrany plik ma tylko około 17 MB.Pobierz „ Apple Pi Baker App ” i użyj tego oprogramowania, aby przenieść obraz na kartę SD
Włóż kartę SD do swojego PI, a po około 15 minutach zostanie zainstalowana najnowsza wersja Raspbian.
Korzystając z aplikacji Fing iPhone odkryłem adres IP PI, co w moim przypadku
192.168.1.13
.Teraz mogę SSH do tego adresu IP w następujący sposób:
I Voila Mam dostęp przez SSH bez uciążliwej konfiguracji.
FYI:
raspbian-ua-netinst
oferuje bardziej zaawansowaną konfigurację, więc sprawdź Readme, jeśli chcesz dostosować niektóre z tych początkowych ustawień.źródło
Jednym z najlepszych sposobów połączenia po wstępnej konfiguracji jest uruchomienie avahi-demona na Raspberry Pi.
Po zainstalowaniu demona avahi na Raspberry Pi i Bonjour na komputerze hosta, możesz po prostu zalogować się przy użyciu raspberrypi.local jako nazwy hosta. Dlatego nie ma potrzeby konfigurowania adresu IP , zarówno statycznego, jak i dynamicznego.
Aby zainstalować avahi-daemon na Raspberry Pi:
A jeśli masz zainstalowany iTunes na komputerze-hoście, po prostu wpisz raspberrypi.local w PuTTY , w przeciwnym razie zainstaluj Bonjour stąd . Sprawdź ten samouczek, aby uzyskać więcej informacji.
źródło
Możesz
raspbian-ua-netinst
spróbować: możesz go znaleźć, klikając tutaj. Jest to minimalny bezobsługowy program instalacyjny Raspbian dla modeli Raspberry Pi 1B, 1B + i 2B. Nie wymaga ekranu ani klawiatury. Mają doskonałą instrukcję instalacji wREADME.md
.Zasadniczo wystarczy sformatować kartę SD w formacie FAT. Rozpakuj na nim najnowszą stabilną wersję i włóż kartę SD do Raspberry Pi. Instalacja minimalnej instalacji Raspbian zajmuje około 20 do 30 minut, a potem możesz zacząć. W komplecie zainstalowany jest SSH. Istnieje kilka opcji, które pozwalają zainstalować dodatkowe pakiety i inne rzeczy podczas pierwszej instalacji. Oczywiście możesz również dodawać pakiety później.
źródło
Dla Raspbian ten samouczek był bardzo przydatny. Po wykonaniu opisanych w nim kroków byłem w stanie połączyć się z moim laptopem z systemem Windows 10 na moim Raspberry PI za pomocą użytkownika
pi
i hasłaraspberry
.Mówiąc dokładniej, tutaj jest odpowiednia część:
źródło
Ponieważ miałem innego Pika, z którym mogłem się połączyć, oszukiwałem.
Wyjąłem kartę Micro SD z Pi, która nie pozwalała mi się połączyć, i umieściłem ją w czytniku USB na jednym z działających Pis.
Następnie zamontowałem go w folderze testowym (
sudo mount /dev/sda2 /mnt/test
), a następniechroot /mnt/test
potraktowałem jako nową powłokę.Następnie włączyłem SSH z
systemctl enable ssh
. Wyjąłem kartę po jej odmontowaniu, uruchomiłem Pi, a następnie port SSH został otwarty i dostępny.Działa na Debianie, jestem pewien na innych
systemd
systemach stylów.źródło