Jak uzyskać dostęp SSH do bezgłowego Raspbian Stretch Lite? Oficjalny sposób wydaje się nie działać

1

Nie byłem w stanie włączyć ssh przez umieszczenie pliku w folderze rozruchowym i tak, został utworzony bez rozszerzenia z Windows 7 komputer i zostanie usunięty po uruchomieniu.

To powinno się wydarzyć:

W przypadku konfiguracji bezgłowej SSH można włączyć, umieszczając plik o nazwie ssh, bez żadnego rozszerzenia, na partycję rozruchową karty SD z innego komputera. Kiedy Pi startuje, szuka ssh plik. Jeśli zostanie znaleziony, SSH jest włączony i plik jest usuwany. Zawartość pliku nie ma znaczenia; może zawierać tekst lub w ogóle nic.

( Źródło )

Nie chcę iść na klawiaturę i; Monitoruj, jak mogę uzyskać adres IP przypisany do Raspberry Pi 3, gdy łączę się z siecią Ethernet i mogę również pingować z utratą 0%.

Po szukaniu odpowiedzi dowiedziałem się, że ssh nie jest włączony i to jest powód putty zwraca Połączenie odrzucone przy każdej próbie.

Teraz widzę, że jest cmdline.txt czy w folderze startowym jest coś, co działa przy każdym starcie? Czy mogę użyć, aby włączyć ssh? Jeśli tak, jak to zrobić?

Oto wszystkie szczegóły, daj mi znać, jeśli jest coś innego.

  • Mój system: Windows 7 Update 1
  • Malinowy model: Raspberry Pi 3 B
  • Raspberry OS: Raspbian Stretch Lite
  • Monitor: Nie
  • Klawiatura: Nie
  • Ping Request: odpowiedział bez utraty pakietu
  • Typ połączenia: Ethernet
  • SSH: nie włączony (jak?)

EDYTOWAĆ : Teraz jestem w stanie zamontować 'rootfs' na moim komputerze z Windows 7 za pomocą Paragon ExtFS dla Windows, ale nie wiem jak włączyć ssh jednak każda pomoc jest doceniana

Vinod Srivastav
źródło
@KamilMaciorowski Dzięki za kumpel do edycji, tak, chyba się pomyliłem
Vinod Srivastav
Jeśli się mylisz command.txt / cmdline.txt to proszę edytować twoje pytanie i napraw to.
Kamil Maciorowski
@ Kamil Maciorowski na pewno, ale teraz zamontowałem rootfs w systemie Windows 7 i może zobaczyć / edytować wszystkie pliki.
Vinod Srivastav

Odpowiedzi:

1

W końcu udało mi się znaleźć alternatywny sposób włączenia ssh. Spróbuję to streścić tutaj. próbowałem PiBakery ale też był zbyt ciężki nodejs i ciągle się zawiesza przy każdej próbie.


Problem: Ext4 format nie można odczytać z okien formularza

Więc po wypaleniu Raspbian za pomocą dowolnego narzędzia do nagrywania img tworzy dwie partycje Boot & amp; rootfs. The boot partycja jest sformatowana w FAT i będzie widoczna tylko dla okien, podczas gdy rootfs był z Ext4 i nie będzie w ogóle widoczny ( możesz to potwierdzić, przeglądając go w Kreatorze partycji MiniTool )


Misja: Edycja konfiguracji z okien, aby wymusić włączenie ssh

Moją misją było wymuszenie włączenia ssh ponieważ nie działał z oficjalnymi instrukcjami ( kładzenie ssh plik w partycji rozruchowej) . Pobrałem więc Paragon ExtFS dla Windows co pozwala Windows 7 przeglądać / edytować pliki Ext4 partycja montując ją jako nowy napęd.

Wcześniej próbowałem Ext2Fsd-0.69 ale nie był kompatybilny z Windows 7 i innymi ext2explore-2.2.71 jest zdolny tylko do przeglądania plików, aby ich nie edytować. Nic nie działało dla mnie


Hack: Edytuj /etc/rc.local plik z Windows 7

Po googlu przez prawie cały dzień poznałem dwie rzeczy

  1. Polecenia można wykonywać, edytując plik /etc/rc.local w rootfs przegroda
  2. Polecenie do uruchomienia ssh jest /etc/init.d/ssh start

Więc edytowałem rc.local plik przez umieszczenie /etc/init.d/ssh start tuż przed exit 0 tak, że wykonuje się przy każdym starcie, w następujący sposób

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

/etc/init.d/ssh start
exit 0

I to zadziałało !! Wiem, że to nie jest dobry sposób, ale może być pomocny dla kogoś w potrzebie. Muszę podziękować @ Kamil Maciorowski za jego rodzaj pomocy i zmiany.

raspbian with ssh

Prosimy o komentarz poniżej, jeśli pojawi się jakikolwiek problem, który może się pojawić z tego powodu.

Vinod Srivastav
źródło
1
Niewiele rzeczy: (1) Demon SSH powinien działać poprawnie. (2) Jeśli jednak chcesz ustawić to „we właściwy sposób”, uruchom sudo systemctl enable ssh.service ( Zobacz ), następnie usuń hack rc.local. (3) Pytałeś o cmdline.txt z tego powodu nawet tego nie skomentowałem command.txt / cmdline.txt zamieszanie. Odpowiedź brzmi: nie możesz uruchomić demona z tego pliku, ponieważ jest do przekazywania argumentów do jądra . (4) Cieszę się, że znalazłeś rozwiązanie; dobrze, że opublikowałeś to tutaj. Upvoted.
Kamil Maciorowski
1

Miałem podobny problem. Miałem kilka Raspberry Pi, które reimaging po podłączeniu pierwszego z nich zdałem sobie sprawę, że zapomniałem go poprawnie skonfigurować. Następnie wprowadziłem zmiany do wszystkich kart SD. Pierwszy Raspberry Pi nie działał, ale wszystkie inne działały. Musiałem zmienić obraz karty SD, wstawić plik ssh, a następnie zadziałało.

Musisz utworzyć plik ssh przed pierwszym uruchomieniem. Jeśli raz uruchomisz kartę SD i nie jest ona dostosowana, nie będzie działać zgodnie z oczekiwaniami.

  • Obraz karty SD
  • Dokonaj niezbędnych zmian
  • Potem pierwszy rozruch
AggieBill
źródło
0

Brzmi jakbyś nie pracował ze świeżą kopią Raspbian, ponieważ oficjalna metoda działa tylko przy pierwszym uruchomieniu nowej kopii Raspbian. Po tym musisz ponownie zobrazować kartę.

Headless Raspbian Setup z Windows 10

  1. Zacznij od a świeża kopia Raspbian na karcie SD za pomocą dowolnego metoda standardowa . Jeśli korzystałeś już z karty w Raspberry Pi, musisz zacząć od początku. Kiedy skończysz, poszukaj urządzenia zewnętrznego z etykietą „boot”. To jest twoja partycja rozruchowa Raspberry Pi.
  2. Jeśli nie widzisz partycji rozruchowej w Eksploratorze plików , możesz przypisać mu literę dysku. Jednym ze sposobów wykonania tego w systemie Windows 10 jest kliknięcie prawym przyciskiem myszy menu Start i kliknięcie opcji „Zarządzanie dyskami”. Spowoduje to wyświetlenie wszystkich partycji na komputerze. Znajdź jedną z etykietą „boot”. Kliknij partycję prawym przyciskiem myszy i kliknij „Zmień literę dysku i ścieżki ...” Kliknij „Dodaj ...” w następnym oknie dialogowym i zaakceptuj domyślną (lub zmień ją na nieużywaną literę). Po zaakceptowaniu tych zmian powinieneś zobaczyć partycję rozruchową w Eksploratorze plików i kontynuować z innymi instrukcjami.
  3. Opcjonalny: Ustaw Raspberry Pi na połączenie z siecią WiFi, tworząc zwykły plik tekstowy o nazwie wpa_supplicant.conf w partycji rozruchowej z preferencjami sieci WiFi, zgodnie z opisem tutaj . Zastąpić YourNetworkSSID i Your Network's Passphrase w poniższym przykładzie:

    country=US
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
      ssid="YourNetworkSSID"
      psk="Your Network's Passphrase"
      key_mgmt=WPA-PSK
    }
    
  4. Opcjonalny: Włącz serwer SSH, tworząc plik o nazwie ssh w partycji rozruchowej bez rozszerzenia pliku. Możesz to zrobić, klikając prawym przyciskiem myszy wewnątrz partycji rozruchowej i wybierając „Nowy”, a następnie „Dokument tekstowy”. Posługiwać się ctrl-a aby wybrać całą nazwę pliku (łącznie z .txt ) i zmień jego nazwę na ssh. Windows ostrzeże Cię, że możesz sprawić, że plik będzie bezużyteczny. W porządku.
  5. Opcjonalnie tylko dla Raspberry Pi Zero: Skonfiguruj Raspberry Pi Zero jako gadżet Ethernet USB, aby można było podłączyć port micro USB do portu USB komputera i podłączyć się bezpośrednio do niego tutaj . Znajdź plik o nazwie config.txt w partycji rozruchowej i edytuj ją w Notatniku (lub innym edytorze). Położyć dtoverlay=dwc2 na końcu pliku na własnej linii zapisz i zamknij plik. Zapisz plik o nazwie cmdline.txt w partycji rozruchowej i edytuj ją w Notatniku (lub innym edytorze). Znajdź słowo „rootwait” w tym pliku i wstaw kolejne miejsce zaraz po nim modules-load=dwc2,g_ether. W tym pliku powinien być tylko jeden wiersz z tekstem. Nie łam nowych linii.
  6. Może okazać się łatwiejsze określenie adresu IP Raspberry Pi po jego włączeniu, jeśli zainstalujesz usługi drukowania Bonjour firmy Apple na komputerze z systemem Windows. Możesz to znaleźć tutaj lub po prostu google, jeśli link umrze.
  7. Wyjmij kartę SD z komputera i umieść ją w Raspberry Pi. Jeśli wykonałeś krok 5 powyżej, możesz podłączyć Raspberry Pi bezpośrednio do portu USB komputera. Jeśli wykonałeś kroki 4 i 6, powinieneś być w stanie ssh na adres raspberrypi.local który został przydzielony przez Apple Bonjour Print Services. W przeciwnym razie włącz go tak, jak normalnie, podłącz się przez Ethernet lub WiFi lub jakkolwiek planujesz to zrobić.

Cieszyć się!

FlippingBinary
źródło
Dzięki, ale to był ostatni img w nowej karcie, która jest ponownie sformatowana za pomocą Mini narzędzie tak jak FAT32 . Znam oficjalny sposób, ale w kwestionariuszu próbowałem odpowiedzieć, jak to zrobić, gdy oficjalna wersja nie działa dla Ciebie
Vinod Srivastav