phpundmysql.de

Mit FTP Dateien auf einen Google Cloud Platform Server übertragen

Dies ist der zweite Teil der Google Cloud Platform Serie. Im ersten Teil haben wir einen Webserver per Click-to-Deploy erfolgreich installiert und öffentlich zugänglich gemacht. Um Inhalte wie HTML, CSS, JavaScript oder andere Dateien auf den Server zu kopieren, bedarf es nun noch einer SSH Verbindung mit einem beliebigen Werkzeug wie WinSCP. Bisher war für die Installation und Konfiguration nicht mehr IT Wissen vonnöten als ein durchschnittlicher Computernutzer vorzuweisen hat. Um es vorweg zu nehmen: Das ändert sich von nun an.

Ziel

Für eine SFTP-Verbindung muss nicht nur das Werkzeug – wir verwenden WinSCP – sondern auch der Webserver bei Google Cloud Platform (GCP) konfiguriert werden. Statt Benutzernamen und Passwort zum Einloggen zu verwenden, generieren wir ein Schlüsselpaar aus öffentlichem und privatem Schlüssel. Den öffentlichen Schlüssel hinterlegen wir bei GCP, den privaten Schlüssel verwenden wir bei der Konfiguration von WinSCP.
Sofern Sie kein WinSCP auf Ihrem Rechner haben, laden Sie es sich vorab herunter. Zusätzlich zum Installer ist auch eine portable Version verfügbar, die Sie vom USB Stick laufen lassen können.

 

Erstellung von Public/Private Keys

Schlüsselpaare zum Ver- bzw. Entschlüsseln von Daten, Email, Nachrichten, etc. bestehen immer aus einem privaten und einem öffentlichen Schlüssel. Aus dem Namen wird klar: den privaten Schlüssel sollten Sie tunlichst für sich behalten und nur zur Konfiguration von Software (wie WinSCP oder Ihrem E-Mail-Programm) verwenden. Den öffentlichen Schlüssel können Sie an Freunde oder Geschäftspartner verteilen.
Die Schlüssel funktionieren nur zusammen, d.h. wenn Sie Ihren privaten Schlüssel verlieren, nützt Ihnen der öffentliche Schlüssel auch nichts mehr. Anders herum lässt sich ein öffentlicher Schlüssel aus dem privaten wieder herstellen.

Im Gepäck von WinSCP befindet sich das Tool PUTTYgen, das zur Erstellung von Schlüsselpaaren geeignet ist. Mit einem einfachen Klick auf Generate beginnt die Berechnung der Schlüssel. Sie müssen dabei allerdings buchstäblich aktiv mitarbeiten: Um zufällige Informationen als Basis der Berechnung zu bekommen, liest PUTTYgen Ihre Mausbewegungen mit. Also schicken Sie den Mauszeiger auf eine intensive Reise über Ihren Bildschirm. Innerhalb von 10 Sekunden sollte die Kalkulation fertig sein.
Speichern Sie die beiden Schlüssel in separaten Dateien an sicheren Orten ab (mittels „Save public key“ / „Save private key„).

Bei der Gelegenheit können Sie auch gleich Ihre Email-Kommunikation verschlüsseln.

 

Konfiguration von Google Cloud Platform

GCP bietet Ihnen die Möglichkeit, Schlüsselinformationen über die Developer Console zu hinterlegen. Um das korrekte Format der Schlüssel zu bekommen, müssen Sie in PUTTYgen aber noch einmal Hand anlegen. Ändern Sie den Wert des Textfeldes „Key comment“ auf diejenige E-Mail-Adresse, die Sie bei der Anmeldung bei GCP verwendet haben. Alle Sonderzeichen, auch das @, sind dabei mit einem Unterstrich zu ersetzen. Aus ihre.email@gmail.com wird so ihre_email_gmail_com.

Wechseln Sie in der Developer Console zum Menüpunkt Compute > Compute Engine > Metadata und dort auf den Reiter SSH Keys. Standardmäßig sind bereits 2-3 Keys angelegt. Fügen Sie einfach einen neuen hinzu. Verwenden Sie dazu den gesamten Inhalt des Feldes „Public key for pasting into OpenSSH authorized_keys file“; der Text sollte mit ssh-rsa beginnen und mit Ihrer E-Mail-Adresse – analog zu dem Feld „Key comment“ – enden.

 

Eine Verbindung in WinSCP einrichten

Starten Sie in WinSCP mit „Neues Verbindungsziel“ und wählen Sie als Protokoll SFTP auf Port 22. Als Rechnername reicht die statische IP Adresse Ihres Webservers. Diese können Sie notfalls in der Developer Console im Menüpunkt Compute > Compute Engine > VM Instances nachschlagen. Der Benutzername ist Ihre E-Mail-Adresse, in dem gleichen Format, das Sie in PUTTYgen als „Key comment“ verwendet haben.

Ihren Schlüssel können Sie in diesem Formular nicht hinterlegen. Stattdessen müssen Sie in die erweiterten Einstellungen wechseln. Dort können im letzten Schritt der Konfiguration Sie unter SSH > Authentifizierung die vorher gespeicherte Datei mit den privaten Schlüssel hinterlegen. Danach können Sie die Verbindung speichern.

 

Die erste Verbindung

Wenn Sie sich das erste Mal über WinSCP mit dem Server verbinden, sollten Sie zur Sicherheit den Serverschlüssel überprüfen. Der Host sendet dazu einen Fingerabdruck. Dieser muss mit demjenigen übereinstimmen, den Sie über die SSH Oberfläche der Developer Console zu sehen bekommen.

Um die online SSH Oberfläche zu öffnen, wechseln Sie ein weiteres Mal in der Developer Console zu dem Menüpunkt Compute > Compute Engine > VM Instances. Rechts neben Ihrem Servernamen finden Sie die Schaltfläche mit der Aufschrift SSH. Wenn Sie diese betätigen, öffnet sich ein Fenster, in dessen ersten Zeile bereits der Fingerabdruck zu sehen ist:

Connected, host fingerprint: ssh rsa 2048 ...

Wenn die folgende Zeichenkette mit derjenigen übereinstimmt, die von WinSCP bei der ersten Verbindung akzeptiert werden muss, hat alles seine Richtigkeit. Wundern Sie sich nicht, dass Sie beim Verbindungsaufbau nie nach einem Passwort gefragt werden. Genau dafür haben wir ja die Schlüssel auf beiden Seiten hinterlegt.

 

Die Sache mit den Linux-Zugriffsrechten

Eigentlich ist nun alles eingerichtet und die Verbindung steht. Dennoch werden Sie noch keine Dateien übertragen können, weil Sie noch keine Schreibrechte für das Verzeichnis /lamp besitzen, in dem Ihre Web-Dateien liegen. Das liegt an der Einrichtung der Linux-Maschine und ist nicht spezifisch für GCP. Dieses Hindernis ist über die online SSH Console allerdings mit einem Einzeile behoben.

sudo chown ihre_email_gmail_com /lamp

Dies ist der einfachste Weg, wenn man keine grundlegenden Linux-Kenntnisse vorzuweisen hat. Damit wird Ihr persönlicher Benutzer zum Besitzer des /lamp Verzeichnisses. Mit den voreingestellten Lese- und Schreibrechten können Sie nach Belieben Dateien verändern.

Kommentare sind deaktiviert.