SSH nie działa przy nowej instalacji

48

Niedawno uwolniłem stary model B z poddasza, umieściłem NOOBS na karcie SD i zainstalowałem na nim najnowszą wersję Raspbian. Uruchomiłem go, próbowałem połączyć się z SSH na moim komputerze Mac, ale dostałem:

ssh: connect to host 192.168.1.248 port 22: Connection refused

Obejrzałem to w pierwszej kolejności przez uruchomienie sudo ssh restart, ale teraz za każdym razem, gdy uruchamiam się ponownie, muszę ponownie uruchomić usługę ssh, zanim będę mógł ponownie ssh, co oczywiście nie jest praktyczne. Czy mogę coś zrobić, aby naprawić to na stałe?

Pezholio
źródło
3
Możliwy duplikat Przygotuj się na ssh bez ekranu
raphael

Odpowiedzi:

84

Cytując dokumentację :

Od wersji z listopada 2016 r. Raspbian domyślnie wyłącza serwer SSH. Będziesz musiał włączyć go ręcznie.

Aby włączyć SSH na komputerach za pośrednictwem konsoli:

Wejdź sudo raspi-configdo terminalu, najpierw wybierz Interfacing Options, a następnie przejdź do ssh, naciśnij Enteri wybierz Enable or disable ssh server.

Aby włączyć SSH dla maszyn bezgłowych:

W przypadku konfiguracji bezgłowej SSH można włączyć, umieszczając plik o nazwie ssh, bez żadnego rozszerzenia, na partycji rozruchowej karty SD.

techraf
źródło
6
Wypróbowałem konfigurację bezgłową na Raspbian Stretch Desktop od 14.03.2018 i wydaje się, że już nie działa, działała z poprzednimi wersjami.
JBaczuk
Ten sam problem z bezgłowym tworzeniem sshpliku podczas rozruchu wydaje się nie działać, nawet gdy komunikat jest wyświetlany podczas rozruchu
Sander Visser
@JBaczuk Doświadczam tego samego. Naprawiłeś to już?
Aaron,
@JBaczuk Znajduje się teraz pod „opcjami interfejsu” (źródło: raspberrypi.org/forums/viewtopic.php?t=177883 )
Aaron
@Aaron, ok, ale jak to zrobić z konfiguracją bezgłową?
JBaczuk,
11

Niedawno pojawiła się aktualizacja zabezpieczeń dla Raspberry Pi. Oto artykuł z https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

Z artykułu fundacji:

Co się zmieniło?

Po pierwsze, SSH będzie domyślnie wyłączone na naszych obrazach. SSH (Secure SHell) to protokół sieciowy, który umożliwia zdalne logowanie do komputera z systemem Linux i sterowanie nim ze zdalnego wiersza poleceń. Jak wspomniano powyżej, wielu właścicieli Pi używa go do instalowania bezgłowego Pi (bez ekranu lub klawiatury) i sterowania nim z innego komputera.

W przeszłości SSH było domyślnie włączone, więc osoby korzystające z Pi bez głowy mogły z łatwością zaktualizować kartę SD do nowego obrazu. Włączanie i wyłączanie SSH zawsze wymagało użycia raspi-config lub aplikacji Raspberry Pi Configuration, ale aby uzyskać do nich dostęp, potrzebujesz ekranu i klawiatury podłączonej do samego Pi, czego nie ma w aplikacjach bezgłowych. Udostępniliśmy więc prosty mechanizm włączania SSH przed uruchomieniem obrazu.

Partycja rozruchowa na Pi powinna być dostępna z dowolnego komputera z czytnikiem kart SD, w systemie Windows, Mac lub Linux. Jeśli chcesz włączyć SSH, wszystko, co musisz zrobić, to umieścić plik o nazwie ssh w katalogu / boot /. Zawartość pliku nie ma znaczenia: może zawierać dowolny tekst, a nawet nic. Kiedy Pi się uruchamia, szuka tego pliku; jeśli go znajdzie, włącza SSH, a następnie usuwa plik. SSH można nadal włączać i wyłączać w aplikacji Raspberry Pi Configuration lub raspi-config; jest to po prostu dodatkowy sposób na włączenie go, jeśli nie można łatwo uruchomić żadnej z tych aplikacji.

Ryzyko związane z otwartym portem SSH polega na tym, że ktoś może uzyskać do niego dostęp i zalogować się; w tym celu potrzebują konta użytkownika i hasła. Po instalacji wszystkie instalacje Raspbian mają domyślne konto użytkownika „pi” z hasłem „malinowy”. Jeśli włączasz SSH, naprawdę powinieneś zmienić hasło użytkownika „pi”, aby uniemożliwić hakerowi użycie ustawień domyślnych. Aby to zachęcić, dodaliśmy ostrzeżenia do procesu uruchamiania. Jeśli SSH jest włączony, a hasło użytkownika „pi” jest nadal „malinowe”, za każdym razem, gdy uruchomisz Pi, zobaczysz komunikat ostrzegawczy, na pulpicie lub w wierszu poleceń. Nie wymuszamy zmian hasła, ale będziesz ostrzegany za każdym razem, gdy uruchomisz komputer, jeśli Twoje Pi jest potencjalnie zagrożone.

Mamy nadzieję, że te (stosunkowo niewielkie) zmiany nie spowodują zbyt dużych niedogodności, ale znacznie utrudnią hakerom atak na Pi.

Zasadniczo oznacza to, że ostatnio hakowano urządzenia korzystające ze zdalnego połączenia, takiego jak SSH. Z tego powodu SSH jest domyślnie wyłączone. Aby to naprawić, wystarczy utworzyć w katalogu plik o nazwie ssh /boot/. Ten plik o nazwie ssh może zawierać dowolny tekst lub nic, jeśli chcesz. Następnie, używając sudo raspi-config commandterminala, możesz ponownie włączyć ssh.

Ponadto zaleca zmianę hasła, jeśli było to coś prostego, np. Hasło, na coś trudniejszego do złamania za pomocą passwdpolecenia.

King Balloonion
źródło
2
„ostatnio hakowano urządzenia” -> Prawdopodobnie wiele osób o tym słyszało . Chociaż Pis najprawdopodobniej nie był w to zamieszany, równie dobrze mogliby działać od czasu domyślnego uruchamiania SSH z otwartym dostępem do bardzo uprzywilejowanego konta za pomocą hasła „fabrycznie ustawionego”. Jest to dokładnie to, co zostało wykorzystane.
złotowłosy
1
Ataki nie są wcale „niedawne”. Od około trzech lat obserwuję próby włamania do moich logów.
Mark
Może nie dużo, ale doszło do hakowania Raspberry Pis!
King Balloonion
2

systemctl rozwiązanie

Jeśli masz już powłokę na Pi za pomocą metody innej niż SSH, takiej jak screen + klawiatura lub UART (zobacz ten post ), możesz również uruchomić:

sudo systemctl enable ssh
sudo service sshd start

zamiast robić to interaktywnie sudo raspi-config.

/boot/ssh plik magii

Jeśli nie masz jeszcze powłoki na Pi, włóż kartę SD na swoim hoście i utwórz magiczny pusty plik o nazwie sshplik na boot/partycji (pierwszy).

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

Testowany na Raspbian Lite 13.11.2013, pełna konfiguracja testu opisana dalej na: SSH do RPi bez połączenia sieciowego?

Ciro Santilli
źródło
0

Tak, jak powiedział @tecraf, sshdomyślnie jest wyłączone, ale lokalizacja konfiguracji uległa zmianie. Aby włączyć SSH na komputerze za pośrednictwem konsoli:

Wpisz sudo raspi-configw terminalu przejdź do 5-Interfacing Options, a następnie przejdź do P2-ssh, naciśnij Enter i użyj, tababy włączyć lub wyłączyć ssh server. Następnie sudo shutdown -r nowuruchom ponownie. (zamknięcie notatki bocznej -hteraz nie uruchomi się ponownie)

Iliass
źródło