SSH funktioniert nicht mit Neuinstallation

48

Ich habe kürzlich ein altes Modell B vom Dachboden befreit, NOOBS auf eine SD-Karte gelegt und die neueste Version von Raspbian darauf installiert. Ich habe es hochgefahren und versucht, von meinem Mac aus SSH-Verbindungen herzustellen.

ssh: connect to host 192.168.1.248 port 22: Connection refused

Ich habe das zunächst durch Ausführen umgangen sudo ssh restart, aber jetzt muss ich jedes Mal, wenn ich neu hochfahre, den ssh-Dienst neu starten, bevor ich wieder ssh einspielen kann, was offensichtlich nicht praktikabel ist. Kann ich etwas tun, um das Problem dauerhaft zu beheben?

Pezholio
quelle
3
Mögliches Duplikat von Vorbereitung für ssh ohne Bildschirm
Raffael

Antworten:

84

Zitieren der Dokumentation :

In Raspbian ist der SSH-Server seit der Version vom November 2016 standardmäßig deaktiviert. Sie müssen es manuell aktivieren.

So aktivieren Sie SSH auf Computern über die Konsole:

Geben Sie sudo raspi-configin das Terminal, wählen Sie zuerst Interfacing Options, wechseln Sie dann zu ssh, drücken Sie Enterund wählen Sie Enable or disable ssh server.

So aktivieren Sie SSH für Headless-Maschinen:

Für das Headless-Setup kann SSH aktiviert werden, indem eine Datei sshohne Erweiterung auf der Startpartition der SD-Karte abgelegt wird.

techraf
quelle
6
Ich habe das Headless-Setup auf Raspbian Stretch Desktop vom 14.03.2018 ausprobiert und es scheint nicht mehr zu funktionieren, es funktionierte mit früheren Versionen.
JBaczuk
Dasselbe Problem mit dem kopflosen Erstellen der sshDatei beim Booten scheint auch dann nicht zu funktionieren, wenn die Meldung beim Booten angezeigt wird
Sander Visser
@JBaczuk Ich erlebe das Gleiche. Hast du es schon behoben?
Aaron
@JBaczuk Es befindet sich jetzt unter "Schnittstellenoptionen" (Quelle: raspberrypi.org/forums/viewtopic.php?t=177883 )
Aaron
@ Aaron, ok, aber wie machst du das mit einem kopflosen Setup?
JBaczuk
11

Vor kurzem wurde ein Sicherheitsupdate für Raspberry Pi veröffentlicht. Hier ist ein Artikel von https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

Aus dem Artikel der Stiftung:

Was hat sich verändert?

Erstens ist SSH ab sofort auf unseren Bildern standardmäßig deaktiviert. SSH (Secure SHell) ist ein Netzwerkprotokoll, mit dem Sie sich remote bei einem Linux-Computer anmelden und von einer Remote-Befehlszeile aus steuern können. Wie oben erwähnt, verwenden viele Pi-Besitzer es, um einen Pi ohne Kopf (ohne Bildschirm oder Tastatur) zu installieren und von einem anderen PC aus zu steuern.

In der Vergangenheit war SSH standardmäßig aktiviert, sodass Benutzer, die ihren Pi ohne Kopf verwenden, ihre SD-Karte problemlos auf ein neues Image aktualisieren konnten. Das Ein- und Ausschalten von SSH erforderte immer die Verwendung von raspi-config oder der Raspberry Pi-Konfigurationsanwendung. Um auf diese zuzugreifen, benötigen Sie jedoch einen Bildschirm und eine Tastatur, die mit dem Pi selbst verbunden sind, was bei Anwendungen ohne Kopf nicht der Fall ist. Daher haben wir einen einfachen Mechanismus zum Aktivieren von SSH bereitgestellt, bevor ein Image gestartet wird.

Auf die Startpartition auf einem Pi sollte von jedem Computer mit einem SD-Kartenleser unter Windows, Mac oder Linux aus zugegriffen werden können. Wenn Sie SSH aktivieren möchten, müssen Sie lediglich eine Datei mit dem Namen ssh im Verzeichnis / boot / ablegen. Der Inhalt der Datei spielt keine Rolle: Sie kann beliebigen Text oder gar nichts enthalten. Wenn der Pi bootet, sucht er nach dieser Datei. Wenn es es findet, aktiviert es SSH und löscht dann die Datei. SSH kann weiterhin in der Anwendung Raspberry Pi Configuration oder in raspi-config aktiviert oder deaktiviert werden. Dies ist lediglich eine zusätzliche Möglichkeit, es zu aktivieren, wenn Sie keine dieser Anwendungen problemlos ausführen können.

Bei einem offenen SSH-Port besteht das Risiko, dass jemand darauf zugreifen und sich anmelden kann. Dazu benötigen sie ein Benutzerkonto und ein Passwort. Standardmäßig haben alle Raspbian-Installationen das Standardbenutzerkonto "pi" mit dem Kennwort "raspberry". Wenn Sie SSH aktivieren, sollten Sie das Kennwort für den Benutzer "pi" wirklich ändern, um zu verhindern, dass ein Hacker die Standardeinstellungen verwendet. Um dies zu fördern, haben wir dem Startvorgang Warnungen hinzugefügt. Wenn SSH aktiviert ist und das Kennwort für den Benutzer "pi" immer noch "himbeer" lautet, wird beim Starten des Pi eine Warnmeldung angezeigt, unabhängig davon, ob Sie sich auf dem Desktop oder in der Befehlszeile befinden. Wir erzwingen keine Kennwortänderungen, aber Sie werden beim Booten gewarnt, wenn Ihr Pi potenziell gefährdet ist.

Wir hoffen, dass diese (relativ geringfügigen) Änderungen nicht zu viele Unannehmlichkeiten verursachen, aber sie machen es Hackern viel schwerer, den Pi anzugreifen.

Dies bedeutet im Wesentlichen, dass in letzter Zeit viele Geräte gehackt wurden, die eine Remoteverbindung wie SSH verwenden. Aus diesem Grund ist SSH standardmäßig deaktiviert. Um dies zu beheben, müssen Sie lediglich eine Datei mit dem Namen ssh im /boot/Verzeichnis erstellen . Diese Datei mit dem Namen ssh kann beliebigen Text oder nichts enthalten, wenn Sie möchten. Dann können Sie mit dem sudo raspi-config commandauf dem Terminal ssh wieder aktivieren.

Außerdem wird empfohlen, das Kennwort zu ändern, wenn es sich um ein einfaches Kennwort handelt, das mit dem passwdBefehl schwieriger zu knacken ist .

König Balloonion
quelle
2
„Es hat von Hacking von Geräten vor kurzem viel gewesen“ -> Wahrscheinlich eine Menge Leute gehört dazu . Obwohl Pis wahrscheinlich nicht involviert war, könnte es genauso gut gewesen sein, dass SSH standardmäßig mit offenem Zugang zu einem sehr privilegierten Konto über ein "werksseitig voreingestelltes" Passwort ausgeführt wurde, was genau ausgenutzt wurde.
Goldlöckchen
1
Die Angriffe sind kaum "neu". Ich habe seit ungefähr drei Jahren Einbruchsversuche in meinen Protokollen gesehen.
Mark
Vielleicht nicht viel, aber Raspberry Pis wurde gehackt!
König Balloonion
2

systemctl Lösung

Wenn Sie bereits über eine Nicht-SSH-Methode wie screen + keyboard oder UART eine Shell auf dem Pi haben (siehe diesen Beitrag ), können Sie auch einfach Folgendes ausführen:

sudo systemctl enable ssh
sudo service sshd start

anstatt es interaktiv zu tun sudo raspi-config.

/boot/ssh magische Datei

Wenn Sie noch keine Shell auf dem Pi haben, legen Sie die SD-Karte in Ihren Host ein und erstellen Sie eine magische leere Datei namens sshfile in der boot/Partition (die erste).

Auf Ubuntu-Hosts wird es automatisch gemountet und Sie können Folgendes tun:

sudo touch /media/$USER/boot/ssh

was Sie bestätigen können mit:

lsblk

was beinhaltet:

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

Getestet auf Raspbian Lite 2018-11-13, vollständiger Testaufbau weiter unten beschrieben: SSH zu RPi ohne Netzwerkverbindung?

Ciro Santilli ist ein Schauspieler
quelle
0

Ja, wie @tecraf sagte, sshist standardmäßig deaktiviert, aber der Konfigurationsspeicherort hat sich geändert. So aktivieren Sie SSH auf Ihrem Computer über die Konsole:

Geben Sie sudo raspi-configim Terminal ein, gehen Sie zu 5-Interfacing Options, navigieren Sie zu P2-ssh, drücken Sie die Eingabetaste und verwenden Sie tab, um zu aktivieren oder zu deaktivieren ssh server. Dann sudo shutdown -r nowzum Neustart. (Side Note Shutdown wird -hjetzt nicht neu gestartet)

Iliass
quelle