Podobne pytanie zadawano wcześniej: Jak skonfigurować Raspberry Pi bez monitora?
Biorąc jednak pod uwagę, że zaakceptowana odpowiedź nie wydaje się odpowiednim rozwiązaniem, a biorąc pod uwagę, że pytanie jest niejasne, zakładam, że pierwotne pytanie było błędnie skonstruowane, a moje pytanie nie brzmi „ dokładny duplikat.
Przeprowadzam początkową konfigurację Pi. Nie mam monitora ani klawiatury, ale zamiast tego chcę użyć podłączonego laptopa do wykonania zadania. Nie chcę kupować monitora ani klawiatury i kazać im siedzieć tylko na okazje, kiedy Pi będzie ich potrzebować. Mógłbym je pożyczyć, ale planuję kupić więcej Pi w przyszłości i nie chcę ich za każdym razem pożyczać.
Ustawiłem statyczny adres IP na Pi, edytując cmdline.txt
plik. (Pi używa najnowszej wersji Raspbian).
ip=10.0.0.20
Nadałem eth
interfejsowi na moim laptopie odpowiedni statyczny adres IP. (Laptop działa na Ubuntu.)
ip ad add 10.0.0.10/24 dev eth0
Połączyłem je razem za pomocą kabla Ethernet i mogę pomyślnie pingować Pi z mojego laptopa.
Nie mogę zrobić ssh
dla Pi. Otrzymuję odpowiedź odmowy połączenia :
richard@richard-ThinkPad-X220:~$ ssh -vvv [email protected]
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.0.0.20 [10.0.0.20] port 22.
debug1: connect to address 10.0.0.20 port 22: Connection refused
ssh: connect to host 10.0.0.20 port 22: Connection refused
Sugeruje to, że sshd
jeszcze nie działa na Pi.
Oficjalne docs stwierdzają, że sshd
biegnie domyślnie, ale jest to możliwe, że w początkowym rozruchu, że inne rzeczy (np monituje czekają na dane wprowadzone przez użytkownika) może zablokować bagażnik na pewnym poziomie, co oznacza, że nie dotrzeć do punktu, w którym sshd
jest uruchomiona ?
Gdzie mogę się stąd udać? (Nie „do sklepów, aby kupić monitor” ...)
Czy to, co próbuję, jest faktycznie możliwe?
Edytować:
Próbowałem teraz metod wymienionych w odpowiedziach na następujący post, ale bez powodzenia: Włączanie SSH na RPi bez ekranu - naciśnięcia klawiszy dla raspi-config?
W szczególności upewnienie się, że skrypt inicjujący SSH jest uruchamiany na poziomie 2, wciąż nie pozwala mi się połączyć.
ssh [email protected]
Nie wydaje ci się, że mówienie nam, jak naprawdę się starasz,ssh
jest ważne.ping [email protected]
. Ale to nie działa, ponieważraspberrypi.local
jest nieznanym hostem. Czy nie trzeba mieć wpisu/etc/hosts
na moim laptopie, aby go rozwiązać?sudo nmap 10.0.0.20
na laptopie. Jeśli pokazuje, że port 22 jest otwarty, oznacza to, że SSH działa, w przeciwnym razie nie działa. Nie naprawi tego, ale powie ci, co się dzieje.Odpowiedzi:
Na najnowszym obrazku, jaki mam, 21.11.2015-raspbian-jessie- lite .img, to nie jest prawda. Debian / Raspbian jessie obecnie używa systemd do init, ale istnieje wbudowany rodzaj hybrydowego mechanizmu kompatybilnego wstecz z SysV i zauważam, że na uruchomionym systemie stworzyłem z tego obrazu (używając ekranu i klawiatury do wstępnej konfiguracji), gdzie sshd jest teraz włączony, zarówno systemowy, jak i stary
rc.d
katalog SysV ma wyzwalacz . Prawdopodobnie w ten sposób działa mechanizm kompatybilny wstecz (włączyłem ssh przez systemd). W każdym razie działa tylko jednasshd
instancja z PPID 1.Dla działającego systemu istnieje wpis
/etc/rc[2,3,4,5].d
dlaS02ssh
(dokładny numer priorytetu, 02, jest ustawiany, gdy usługa jest włączona i może się różnić). Istnieje również/etc/systemd/system/multi-user.target.wants/ssh.service
.Jednak w obrazie podstawowym ...
... Nie ma żadnego wpisu
/etc/systemd
i istniejeK01ssh
poziom uruchamiania 2, 3, 4, 5. To prawie gwarantuje, że żaden sshd nie jest uruchomiony.Moją sugestią jest, aby najpierw spróbować ustawić tylko wpis SysV. Z
etc
katalogu drugiej partycji na karcie SD:Sprawdź, czy linki tam są i wskazują na właściwe miejsce za pomocą
stat
. Uważam, że powinno to wystarczyć i możesz teraz spróbować uruchomić system. Jeśli tak, po wejściu usuń te linki i uruchom jesystemctl enable ssh
, a następnie sprawdź, czy linki zostały odtworzone (pamiętaj, że priorytet może być inny).Jeśli nadal pojawia się komunikat „Odmowa połączenia”, utwórz link od
[SD_rootfs]/lib/systemd/system/ssh.service
do[SD_rootfs]/etc/systemd/default.target.wants/ssh.service
i spróbuj ponownie.źródło
K01ssh
wrc2.d
katalogu i zmieniłem jego nazwę, ale nie zauważyłem innych w innychrc
katalogach. Usunięcie osób korzystających ze skryptu nie pomogło, niestety. (Sprawdziłem, że zostały utworzone, jak sugerowałeś). W przypadku drugiej metody nie mamssh.service
wpisu wetc/systemd/system/multi-user.target.wants/
katalogu, alib/systemd/system/
katalog jest niedostępny. System nie może nawet powiedzieć, że jest to katalog (a po uruchomieniufile
daje mi:ERROR: cannot open
lib / systemd / system '(błąd wejścia / wyjścia) `).systemd
pliki, o których wspomniałeś, były obecne, więc wypróbowałem drugą sugestię, która zadziałała :) Nie jestem pewien, dlaczego rzeczy różnią się między obrazami, ale to może być moje hackowanie, które wpłynęło na coś na pierwszym zdjęciu. (Nie mam pojęcia co ...) Bardzo dziękuję za pomoc.lib/systemd/system/
katalog był niedostępny. To samo dotyczy obrazu Wheezy. Tylko obraz Lite pozwolił mi uzyskać dostęp do katalogu i dlatego wykonać instrukcje.Dla tych z was, którzy natkną się na to z nowszymi obrazami Raspbian: istnieje
sshwitch
systemowy cel, który sprawdza/boot/ssh
, a jeśli ten plik jest obecny, regeneruje klucze hosta SSH i włącza serwer SSH.Tak więc, aby włączyć SSH, po prostu dodaj plik wywoływany
ssh
w katalogu głównym partycji rozruchowej (FAT zbootcode.bin
plikiem) i uruchom swój Pi!Edycja: działało to na moim obrazie 2017-01-11-raspbian-jessie-lite.
źródło
Przepraszam, że jest to odpowiedź, ale nie można się o tym przekonać.
Czy usługa ssh działa? Jeśli jest to możliwe i jest to jeden z malinowych obrazów instalacyjnych, wypróbuj raspi-config, aby włączyć ssh.
Innym sposobem jest sprawdzenie, czy ssh jest załadowane i włączone
Być może port ssh 22 odrzuca połączenie, ponieważ usługa nie jest gotowa
źródło
systemctl --list-units | grep ssh
(lub lepiej, tym bardziej informacyjnysystemctl status ssh
). Ale zasadniczo masz rację, „Odmowa połączenia” oznacza, że nic nie nasłuchuje na porcie. Jeśli ssh jest uruchomiony, adres IP jest nieprawidłowy.https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/ Ten link do systemu operacyjnego wersji Rasbian PIXEL.
źródło
/boot/ssh
poprawkę.Wersja Jessie Lite z 26 lutego 2016 r. Ma domyślnie włączoną funkcję ssh.
źródło