Przygotuj się na ssh bez ekranu

156

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:

  1. Przygotuj SD z systemem operacyjnym, tak aby RPi zawsze łączył się z Ethernetem pod stałym adresem IP i umożliwiał serwer SSH.

  2. 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.

Do B.
źródło
5
Przydatne na bok - RasPi nie uruchamia się naturalnie (przynajmniej Debian) z włączonym SSH. Aby uruchomić, musisz zmodyfikować plik w katalogu / boot /, który ma nazwę SSH. Wiem, że to nie odpowiada na twoje pytanie, ale może to być kolejna przeszkoda :)
George Pearce
1
Nie wydaje mi się, żeby warto było na to odpowiedzieć, ale możesz wypróbować narzędzie do skanowania portów.
ian.shaun.thomas
10
@iampearce: W wersji beta debian wheezy ssh wydaje się teraz domyślnie włączony.
Jon Egerton
5
Bieżący wheezy ma domyślnie włączony SSH. Jeśli masz serwer DHCP w swojej sieci, będzie on działać od razu po wyjęciu z pudełka.
Sentry
1
Sądzę, że są już wszystkie potrzebne odpowiedzi. Chciałem tylko dodać sposób wyszukiwania Pis w mojej sieci. Zwykle mam więcej niż jedną, a nawet więcej maszyn z otwartym portem 22. nmap -sP 192.168.0.0/24 | grep Pi -B 2
cee

Odpowiedzi:

71

Aby włączyć ssh podczas uruchamiania, wykonaj kopię zapasową boot.rcna 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.

finnw
źródło
3
Czy ssh jest już zainstalowany na obrazie Debian Squeeze dostarczonym przez fundację?
Do B
1
@TillB jest zainstalowany na dostarczonym obrazie, ale należy go uruchomić ręcznie.
finnw
1
ok, która jest partycja rozruchowa? Mam taki, który zawiera system plików, jedną partycję wymiany i jedną zawierającą plik start.elf i inne. Istnieje również boot_enable_ssh.rc, ale nie ma boot.rc. Zmieniłem nazwę na boot.rc i uruchomiłem. Znajduję RPi w sieci (przynajmniej zakładam, że jest to Pi), ale ssh jest zamknięte.
Do B
1
Czy jesteś pewien, że tak jest na odwrót? Mój działa, zmieniając nazwę na boot.rc, jak można znaleźć w raspberrypi.stackexchange.com/questions/606/…
David Sykes
5
Uruchomiłem obraz 2012-09-18-wheezy-raspbian.img na nowym bezgłowym Raspberry Pi, automatycznie uruchomił sshd i skonfigurował się za pomocą DHCP.
nos
52
  1. Skopiuj boot_enable_ssh.rcdo boot.rcz /bootw Raspberry Pi rootfs(karta SD)

  2. Nadal w Raspberry Pi rootfsedytuj /etc/network/interfaces, aby mieć przypisany stały adres IP (więc nie jest potrzebny serwer DHCP ). Na przykład,

    auto lo eth0
    iface lo inet loopback
    iface eth0 inet static
        address 192.168.0.202
        netmask 255.255.255.0
        gateway 192.168.0.200
    
  3. 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:

    ssh [email protected]
    
  4. Zainstaluj lekki serwer VNC w swoim Raspberry Pi:

    sudo apt-get install tightvncserver
    
  5. Następnie uruchom serwer VNC (zostaniesz poproszony o ustawienie hasła):

    vncserver :1 -name RasPi -depth 16 -geometry 1024x768
    
  6. Zainstaluj klienta VNC na komputerze:

    apt-get install xtightvncviewer
    
  7. Następnie połącz się z Raspberry Pi przez VNC z komputera:

    xtightvncviewer 192.168.0.202:1
    

Po prostu działa tutaj w ten sposób :)

Tiago B. Vaz
źródło
2
FWIW: OP zapytał o ssh - nie o X ani VNC.
Brad
Użyłem konfiguracji raspberrypi_defconfig w BUILDROOT, aby zamontować system operacyjny na pi ... W folderze rozruchowym nie ma pliku boot.rc !!! co mogę zrobić ?
Bestia
36

Żadna z tych boot_enable_ssh.rcrzeczy 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.

  1. 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łóż cddo niej.

  2. Biegać:

    for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  3. Odmontuj i uruchom. Powinieneś mieć do niego dostęp przez SSH.

Jeśli masz problem ze znalezieniem go w sieci ...

Trzy opcje dla Ciebie:

  • Użyj administratora routera, aby go znaleźć. Netgear jest szczególnie dobry w wyświetlaniu „Podłączonych urządzeń”.
  • Podłącz monitor i uruchom ifconfig(oszustwo!)
  • Użyj nmapna innym komputerze, aby go wyszukać. Powinieneś wiedzieć, jaki adres IP ma mniej więcej (do / 24), więc skanowanie jest proste:

    sudo nmap -sV --open 192.168.0.0/24  -p22
    
Oli
źródło
1
Nie używaj do tego nmap, możesz pingować adres rozgłoszeniowy i sprawdzić tabelę ARP.
Tamara Wijsman
@TomWijsman Czy masz na myśli bieganie ping -b 192.168.0lub 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.
Oli
1
@Oli: Nie, to twoje jądro nie zbiera wszystkich odpowiedzi ARP, uważa się za marnotrawstwo sprawdzanie każdego przychodzącego pakietu, aby sprawdzić, czy jego MAC jest już w pamięci podręcznej ARP, dlatego nie zawsze działa to w systemie Linux, jeśli tylko Wiedziałem, jak to skonfigurować; ale to na przykład działa dobrze w systemach Windows i Mac OS X ...
Tamara Wijsman
@Oli: Prawdziwą alternatywą, jeśli twój system nie może tego zrobić, jest arping; robi to, co narzucą osobne polecenia ping i arp, ale bez zalewania sieci pakietami ICMP.
Tamara Wijsman
2
@nornagon: arp -anie robi tego sam.
Tamara Wijsman
21

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ć nmaplub podobnych narzędzi do przeskanowania całej podsieci w poszukiwaniu otwartego portu 22 (SSH jest domyślnie włączony).

Peter Mortensen
źródło
och, zapomniałem dodać: Nie mogę uzyskać dostępu do mojego routera (jest on dostarczany przez moją firmę i całkowicie zamknięty). Czy mówisz, że w Arch ssh jest zawsze włączony? Co powiesz na Debiana?
Do B
Myślę, że tylko Arch jest dostarczany z wstępnie włączonym SSHd.
5
Debian nie ma domyślnie włączonego SSH.
Steve Robillard
4
Do tej pory w każdej dystrybucji, którą zainstalowałem na moim Pi, SSH było domyślnie włączone. Nie mówię, że zawsze tak jest, ale tak było dla mnie.
DaveJohnston
14

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 nazwie start.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/24jest to również ważna, ale wolniejsza opcja.

Rafael
źródło
W swoim wpisie wspomniano o utworzeniu nazw plików „start.elf”, natomiast o źródłowym adresie URL wspomnianym w celu utworzenia nazw plików „SSH” patrz: „Jeśli chcesz włączyć SSH, wszystko, co musisz zrobić, to umieścić plik o nazwie ssh w katalog / boot /. ” czy możesz przejrzeć publikację?
BastianW
Ups, byłem trochę pochopny pisząc odpowiedź, dzięki za zidentyfikowanie tego punktu zamieszania
Rafael
13

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 ifconfiggo bezpośrednio, na przykład:

  • Strony konfiguracji routera mogą mieć ekran z adresami IP podłączonych komputerów
  • Większość smartfonów ma bezpłatne skanery sieciowe Wi-Fi, które wyświetlają urządzenia podłączone do sieci.
Jon Egerton
źródło
Domyślnie nie jest włączony na MOIM obrazie Debian Wheezy ... :(
Matt
@Matt: Jesteś pewien? - standardowy, który pobrałem dawno temu, kiedy go włączyłem.
Jon Egerton
Chyba tak. Właśnie tego spróbowałem dziś rano (z najnowszym obrazem). Może coś mi umknęło, ale pamiętam, że robiłem to już kilka razy.
Mat.
Wydaje się, że nie ma zastosowania w 2017 r.
raphael
11

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:

  1. Podłącz klawiaturę i uruchom RPi. Zauważ, że domyślny układ klawiatury będzie standardowym układem QWERTY US , więc pamiętaj o swoich „Y” i „Z”, a także „-” i „/”.
  2. Poczekaj chwilę, a następnie wpisz „pi”, naciśnij Enter, następnie „malina” i naciśnij Enter.
  3. Włącz SSH za pomocą:

    sudo /etc/init.d/ssh start
    
  4. Na wszelki wypadek wpisz hasło „malina”, ponieważ jest to sudopolecenie, 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:

sudo raspi-config

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.

Matt
źródło
1
Niesamowita odpowiedź, ale wygląda na to, że ssh może być włączony na nowszych kartach SD, które są dostarczane z Pi. Zamówiłem mój w zeszłym tygodniu, a ssh właśnie opracował pudełko!
pufferfish,
Wysyłają teraz z kartami SD? Gdzie zamówiłeś swój? Ale to dobra wiadomość. Myślałem o uaktualnieniu do modelu B.
Matt
4
Tylko komentarz do tego ślepego rozwiązania: nie mam „natywnej” angielskiej klawiatury (jest po słoweńsku!), Więc bez raspi-config lub dpkg-rekonfiguracji konfiguracji klawiatury moja klawiatura USB wysyła „z” zamiast „y”, co wpływa na logowanie w ciemno hasło. Podobny problem może występować także na innych nieanglojęzycznych klawiaturach! Możesz sprawdzić domyślne angielskie znaki w systemie Windows podczas przełączania ustawień klawiatury / paska języka z „Twój język” -> „EN” na pasku zadań.
TomiL
3
@TomiL: dobra uwaga. Na niemieckich klawiaturach zamieniane są również „Z” i „Y”.
Peter Mortensen
1
Działa to teraz najlepiej, najnowsza jessienica Raspbian ma domyślnie włączone ssh z nazwą użytkownika / hasłem pi / raspberry
redDevil
5

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.

Denis Mitropolskiy
źródło
1
Jest to w zasadzie najłatwiejszy sposób. Nie potrzebujesz nawet monitora, aby go włączyć, jeśli masz klawiaturę. Wystarczy jedno polecenie, które możesz uruchomić na ślepo.
Matt
5

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.

Marcel
źródło
4

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:

sudo systemctl enable ssh
sudo service sshd start

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 sshplik na boot/partycji.

Na hostach Ubuntu jest montowany automatycznie i możesz wykonać tylko:

sudo touch /media/$USER/boot/ssh

co możesz potwierdzić za pomocą:

lsblk

który zawiera:

mmcblk0     179:0    0  14.4G  0 disk
├─mmcblk0p1 179:1    0  43.9M  0 part /media/ciro/boot
└─mmcblk0p2 179:2    0  14.4G  0 part /media/ciro/rootfs

Jeśli nie włączysz demona SSHD na Pi, połączenie SSH nie powiedzie się:

ssh: connect to host 10.42.0.160 port 22: Connection refused

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:

wprowadź opis zdjęcia tutaj

W systemie Ubuntu 17.04, aby obejść ten błąd, jak wspomniano w tej odpowiedzi , najpierw potrzebujesz:

sudo apt-get install dnsmasq-base

Na hoście otwórz menedżera sieci:

nm-connection-editor

I idź:

  1. + znak (Dodaj nowe połączenie)
  2. Ethernet
  3. Stwórz
  4. Ustawienia IPv4
  5. Metoda: udostępniona innym komputerom
  6. Ustaw dla niego dobre imię
  7. Zapisać

wprowadź opis zdjęcia tutaj

Znajdź adres IP komputera Pi na hoście:

cat /var/lib/misc/dnsmasq.leases

wyprowadza coś takiego:

1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69

10.42.0.160 jest adresem IP, a następnie, jak zwykle:

ssh [email protected]

Mam również następujące elementy .bashrc:

piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )

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:

ping google.com

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.txtplik obecny na pierwszej partycji, aby dodać:

enable_uart=1

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.txtsą jednym z nich. Druga partycja zawiera rzeczywisty główny system plików Linux.

Teraz podłącz swój komputer do Pi jako:

wprowadź opis zdjęcia tutaj

Musisz tylko podłączyć 3 kable:

  • Z ziemi na ziemię
  • Tx na Pi do Rx na USB do portu szeregowego
  • Rx na Pi do Tx na tye USB na port szeregowy

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:

sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200

Wyjdź z Ctrl-A \.

Oto wideo Adafruit pokazujące to: https://www.youtube.com/watch?v=zUBPeoLW16Q

Ciro Santilli
źródło
3

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 pakiet avahi-utilsi avahi-daemonsą zainstalowane, po prostu spróbuj aptitude 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łana rpi-machine, spróbuj połączyć się z nią za pomocą rpi-machine.local.

Możesz sprawdzić w pliku, /etc/nsswitch.confczy masz tam ten wiersz:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

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:

avahi-browse --all

lub

avahi-browse _ssh._tcp

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 nmapna komputerze Ubuntu. Następnie możesz sprawdzić, na której sieci pracujesz, za pomocą polecenia, ip route listaby 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):

192.0.43.0/24 dev eth0  proto kernel  scope link  src 192.0.43.1  metric 1

mówi mi, że jestem w sieci, 192.0.43.0/24a router jest 192.0.43.1. Więc jeśli uruchomisz polecenie nmap 192.0.43.0/24, spróbuje znaleźć wszystkie maszyny w twojej sieci i powie, które porty są otwarte. Poszukaj portu 22/tcp, ponieważ są to serwery ssh.

Anders
źródło
3

Udało mi się skonfigurować Raspberry PI bez ekranu lub klawiatury, wykonując następujące czynności:

  1. 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.

  2. Pobierz „ Apple Pi Baker App ” i użyj tego oprogramowania, aby przenieść obraz na kartę SD

    ApplePiBaker

  3. Włóż kartę SD do swojego PI, a po około 15 minutach zostanie zainstalowana najnowsza wersja Raspbian.

  4. Korzystając z aplikacji Fing iPhone odkryłem adres IP PI, co w moim przypadku 192.168.1.13.

    IP

  5. Teraz mogę SSH do tego adresu IP w następujący sposób:

    # Password = raspbian
    ssh [email protected] 
    

I Voila Mam dostęp przez SSH bez uciążliwej konfiguracji.

FYI: raspbian-ua-netinstoferuje bardziej zaawansowaną konfigurację, więc sprawdź Readme, jeśli chcesz dostosować niektóre z tych początkowych ustawień.

dostęp ssh

Besi
źródło
2

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:

sudo apt-get update
sudo apt-get install libnss-mdns

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.

karan
źródło
2

Możesz raspbian-ua-netinstspró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 w README.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.

Mausy5043
źródło
2

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 pii hasła raspberry.

Mówiąc dokładniej, tutaj jest odpowiednia część:

  • Upewnij się, że Raspberry Pi jest wyłączony i wyjmij kartę SD.

  • Włóż kartę SD do czytnika kart i podłącz do laptopa.

  • Znajdź dysk, a na karcie powinieneś znaleźć kilka plików (zwróć uwagę, że jest on znacznie mniejszy, niż można się spodziewać, ponieważ jest to tylko sekcja rozruchowa karty (reszta jest ukryta)).

  • Utwórz kopię pliku cmdline.txt i zmień jego nazwę na cmdline.normal

  • Edytuj plik cmdline.txt i dodaj adres IP na końcu (upewnij się, że nie dodajesz żadnych dodatkowych wierszy).

W przypadku ustawień sieciowych, w których adres IP jest uzyskiwany automatycznie, użyj adresu z zakresu 169.254.XX (169.254.0.0 - 169.254.255.255):

ip=169.254.0.2

W przypadku ustawień sieciowych, w których adres IP jest stały, użyj adresu, który pasuje do adresu laptopa / komputera oprócz ostatniej cyfry.

ip=192.168.0.2

Pamiętaj, aby zanotować ten adres IP (będzie potrzebny za każdym razem, gdy chcesz bezpośrednio połączyć się z Raspberry Pi).

  • Utwórz nową kopię pliku cmdline.txt i zmień jego nazwę na cmdline.direct

  • Aby przełączać się między konfiguracjami, po prostu zamień cmdline.txt na cmdline.normal lub cmdline.direct (lub użyj poleceń w Opcji 2, aby zrobić to bezpośrednio na Raspberry Pi - zmiana zacznie obowiązywać przy następnym uruchomieniu)

  • Zwróć kartę do Raspberry Pi. Podłącz kabel sieciowy podłączony do komputera i Raspberry Pi i włącz zasilanie.

UWAGA NASTĘPUJĄCE:

  • Będziesz musiał poczekać, aż komputer zakończy wykrywanie ustawień sieciowych (możesz zobaczyć małą ikonę sieci migającą na pasku zadań, gdy to robi, lub otwórz ustawienia sieciowe, aby zobaczyć, kiedy zakończyło się i ma adres IP) - może to zająć około 1/2 minuty. Komputer może zgłaszać połączenie jako „ograniczone lub brak połączenia” po podłączeniu do Raspberry Pi w ten sposób, jest to normalne, ponieważ wskazuje, że jest to bezpośrednie połączenie komputer z komputerem, a nie standardowa sieć.

  • Jeśli zapomnisz lub zdecydujesz się nie podłączać kabla sieciowego, Raspberry Pi odczeka 2 minuty (lub dopóki nie podłączysz kabla) przed zakończeniem jego uruchamiania (więc jeśli masz tylko klawiaturę i monitor, musisz poczekać !).

  • Jeśli używasz wielu przewodowych kart sieciowych (np. Za pomocą dodatkowego klucza USB-LAN) na swoim komputerze, może się okazać, że musisz odłączyć drugi kabel sieciowy i podłączyć go ponownie później (mój komputer z systemem Windows XP potrzebował tego przed podłączeniem przez bezpośrednie łącze ).

Mihai Todor
źródło
2

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ępnie chroot /mnt/testpotraktował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 systemdsystemach stylów.

Kanadyjczyk Luke
źródło