Inhaltsverzeichnis:

Sichere SSH / SCP-Verbindung vom Raspberry Pi zum Cloud-Server für Backups und Updates - Gunook
Sichere SSH / SCP-Verbindung vom Raspberry Pi zum Cloud-Server für Backups und Updates - Gunook

Video: Sichere SSH / SCP-Verbindung vom Raspberry Pi zum Cloud-Server für Backups und Updates - Gunook

Video: Sichere SSH / SCP-Verbindung vom Raspberry Pi zum Cloud-Server für Backups und Updates - Gunook
Video: Nextcloud auf Raspberry Pi installieren 2021 - Einfache Anleitung (Eigener Cloud Server) 2024, November
Anonim
Sichere SSH-/SCP-Verbindung vom Raspberry Pi zum Cloud-Server für Backups und Updates
Sichere SSH-/SCP-Verbindung vom Raspberry Pi zum Cloud-Server für Backups und Updates

Der Zweck dieser Anleitung besteht darin, Ihnen zu zeigen, wie Sie sich automatisch und sicher von Ihrem Raspberry Pi mit einem Remote-Cloud-Server (und umgekehrt) verbinden, um Backups und Updates usw. durchzuführen. Dazu verwenden Sie SSH-Schlüsselpaare, die Sie müssen sich keine Passwörter mehr merken und erhalten eine sicherere Verbindung.

(VORSICHT – Versuchen Sie dies nicht, wenn Sie nicht in der Lage sind, Linux-Berechtigungen zu konfigurieren, da Sie sonst Ihre Systeme anfälliger für Hackerangriffe machen.)

Anforderungen

1. Raspberry Pi mit einer Befehlszeilenschnittstelle (CLI), wie Sie sie auf Putty sehen würden.

2. Zugriff auf einen Remote-Cloud-Server, der beispielsweise von OVH oder DigitalOcean gehostet wird, mit einer CLI.

3. Ein Windows-Laptop oder -PC mit installiertem Putty und PuttyGen.

Annahmen

1. Sie haben einige Kenntnisse über Linux-Befehle

2. Sie können mit herkömmlichen manuellen Verfahren auf Ihren Remote-Server zugreifen, z. B. FTP.

3. Sie haben PuttyGen auf Ihrem Windows-PC vorinstalliert

Schritte

Zusammenfassend - Siehe Abbildung 1

a) Erstellen Sie auf Ihrem Windows-PC eine private PPK-Datei mit PuttyGen

b) Erstellen Sie auf Ihrem Windows-PC eine öffentliche PPK-Datei mit PuttyGen (dies erfolgt automatisch in Schritt a)

b) Kopieren Sie auf Ihrem Windows-PC den öffentlichen Schlüssel von Ihrem Windows-PC auf den Remote-Cloud-Server

d) Konvertieren Sie auf Ihrem Windows-PC die Private PPK-Datei mit PuttyGen. in einen OpenSSH-Schlüssel

e) Kopieren Sie den OpenSSH-Schlüssel von Ihrem Windows-PC auf den Raspberry Pi

f) Testen Sie den Zugriff und die Dateiübertragung vom Raspberry Pi zu Ihrem Remote-Server

Schritt 1: A) Erstellen Sie eine private PPK-Datei, B) Erstellen Sie einen öffentlichen Schlüssel und C) Kopieren Sie ihn auf den Remote-Server

A) Erstellen Sie eine private PPK-Datei, B) Erstellen Sie einen öffentlichen Schlüssel und C) kopieren Sie ihn auf den Remote-Server
A) Erstellen Sie eine private PPK-Datei, B) Erstellen Sie einen öffentlichen Schlüssel und C) kopieren Sie ihn auf den Remote-Server
A) Erstellen Sie eine private PPK-Datei, B) Erstellen Sie einen öffentlichen Schlüssel und C) kopieren Sie ihn auf den Remote-Server
A) Erstellen Sie eine private PPK-Datei, B) Erstellen Sie einen öffentlichen Schlüssel und C) kopieren Sie ihn auf den Remote-Server

Um eine private PPK-Datei zu erstellen, öffnen Sie PuttyGen auf Ihrem Windows-PC. Sie können auf PuttyGen zugreifen, indem Sie mit der rechten Maustaste auf das Putty-Symbol in der Windows-Taskleiste klicken. Wählen Sie im PuttyGen-Menü Schlüssel aus, generieren Sie dann ein Schlüsselpaar und wählen Sie die Option SSH2-RSA-Schlüssel. Sie werden beim Erstellen des privaten Schlüssels aufgefordert, eine Passphrase festzulegen, und wenn Sie eine Passphrase festlegen, werden Sie bei zukünftigen Vorgängen danach gefragt. Speichern Sie den privaten Schlüssel an einem sicheren Ort auf Ihrem Windows-PC. Sie sehen dann den öffentlichen Schlüssel im Fensterbereich wie in Abbildung 2 gezeigt.

Als Nächstes übertragen wir den öffentlichen Schlüssel auf den Remote-Cloud-Server. Öffnen Sie mit Putty eine Putty-Sitzung mit dem Remote-Cloud-Server. Nehmen wir an, Sie haben sich als remoteuser1 angemeldet und gehen dann auf der Remote-Cloud-Server-CLI. wie folgt vor

cd /home/remoteuser1 (falls noch nicht vorhanden) mkdir.ssh

nano.ssh/authorized_keys (Sie sehen einen leeren Bildschirm - fügen Sie den in Abbildung 2 gezeigten öffentlichen Schlüssel ein, speichern und schließen Sie diese Datei)

chmod 0700.ssh

chmod 0600 /home/remoteuser1/.ssh/authorized_keys

Schritt 2: D) Konvertieren Sie eine private PPK-Datei in einen OpenSSH-Schlüssel und E) kopieren Sie sie auf den Raspberry Pi

Um den privaten Schlüssel in OpenSSH zu konvertieren, öffnen Sie PuttyGen und dann den zuvor erstellten privaten Schlüssel - gehen Sie zur Option "Konvertierungen" im Menü und wählen Sie dann OpenSSH-Schlüssel exportieren - stellen Sie sicher, dass die von Ihnen erstellte Datei den Dateityp.key hat. Speichern Sie es an einem sicheren Ort und öffnen Sie dann eine Putty-Sitzung, um sich bei Ihrem Raspberry Pi anzumelden. Kopieren Sie die Schlüsseldatei in das Home-Verzeichnis auf dem Raspberry Pi des Benutzerkontos, mit dem Sie sich am Raspberry Pi angemeldet haben. Angenommen, der Schlüssel heißt pitobot.key, dann folgen Sie diesen Schritten:

cd /home/pi

sudo mv pitobot.key /home/pi/

sudo chmod 600 pitobot.key

Jetzt können Sie testen, ob Ihre Installation erfolgreich ist - Auch dies erfolgt vom Pi aus. Denken Sie daran, dass remoteuser1 das Konto auf dem Remote-Cloud-Server ist, in dessen Home-Verzeichnis Sie den öffentlichen Schlüssel gespeichert haben, und ipaddress die IP-Adresse des Remote-Cloud-Servers ist.

Melden wir uns zunächst vom Raspberry Pi mit Putty am Remote-Cloud-Server an. Geben Sie die folgenden Befehle auf der Raspberry PI-CLI ein. (Wenn Sie beim Erstellen eines privaten Schlüssels eine Passphrase festgelegt haben, werden Sie jetzt danach gefragt.)

sudo ssh -i /home/pi/pitobot.key remoteuser1@ipaddress

Dadurch werden Sie bei der CLI des Remote-Cloud-Servers im Home-Verzeichnis von remoteuser1 angemeldet. Durch Eingabe von 'exit; Sie kehren zur CLI Ihres Raspberry Pi zurück.

Versuchen Sie als Nächstes, Dateien vom Remote-Cloud-Server auf den Raspberry Pi zu übertragen. Verwenden Sie die folgenden Befehle: (Wenn Sie beim Erstellen eines privaten Schlüssels eine Passphrase festgelegt haben, werden Sie jetzt danach gefragt.)

sudo scp -i /home/pi/pitobot.key remoteuser1@ipaddress://var/www/html/*.* /home/pi/

Dadurch werden alle Dateien aus dem Ordner /var/www/html/ auf dem Remote-Server in den Ordner /home/pi/ auf Ihrem Raspberry Pi übertragen. (Der Doppelpunkt ist sehr wichtig) Sie können natürlich die Reihenfolge der Befehle ändern und Dateien vom Pi auf den Remote-Server übertragen.

Schritt 3: Sicherheitsüberlegungen

Während der SSH-Schlüsselpaar-Ansatz die Sicherheit verbessert, sollten Sie Folgendes beachten:

1. Wenn SSH-Schlüsselpaare aktiviert sind, sollten Sie erwägen, die Möglichkeit für Benutzer zu entfernen, sich direkt am Remote-Server anzumelden (Sie können auch mit den Schlüsselpaaren Putty unter Windows mit demselben Schlüsselpaar auf Ihre Server zugreifen, und Sie könnten auch eine Deaktivierung in Betracht ziehen Melden Sie sich auch auf Ihrem Pi an). Seien Sie vorsichtig, wenn Sie sich dafür entscheiden, und gehen Sie nicht mit einem großen Knall vor. Dazu müssen Sie einige Konfigurationen in der ssh-Konfigurationsdatei deaktivieren. Seien Sie dabei sehr vorsichtig. Die Befehle sind

nano /etc/ssh/sshd_config

Und nehmen Sie in der Datei die folgenden Änderungen vor

PasswortAuthentifizierungsnr

VerwendenPAM-Nr

Speichern, beenden und dann SSH mit systemctl restart ssh neu starten (Dies ist für Debian. Es kann bei verschiedenen Linux-Distributionen unterschiedlich sein)

2) Bewahren Sie alle Ihre Schlüssel sicher auf, sonst riskieren Sie eine Datenschutzverletzung oder keinen Zugriff auf Ihre Server. Ich empfehle, sie in einem sicheren Tresor wie bitwarden.com aufzubewahren und den Zugriff darauf durch Ihre Zugriffskontrollrichtlinie einzuschränken.

3) Die Verwendung einer Passphrase verbessert die Sicherheit, kann jedoch die Automatisierung von Cron-Jobs usw. erschweren. Die Entscheidung, diese und andere Funktionen zu nutzen, sollte durch eine Risikobewertung bestimmt werden. Wenn Sie beispielsweise personenbezogene Daten verarbeiten, benötigen Sie größere / verhältnismäßige Kontrollen.

Empfohlen: