Dateien auf Linux-VMs übertragen


Für die Übertragung von Dateien an Compute Engine-Instanzen stehen je nach Betriebssystem Ihrer Workstation und Betriebssystem der Zielinstanz verschiedene Optionen zur Verfügung.

Übertragung von An Linux-VMs
Linux oder macOS
Windows

Dateien über Cloud Storage übertragen

Cloud Storage-Buckets können als Übertragungspunkt zwischen Ihnen und Ihren VMs verwendet werden. Sie können einen Webbrowser, die Google Cloud CLI oder eine Programmiersprache verwenden, um Dateien zwischen Cloud Storage- und Compute Engine-VMs zu übertragen.

Für den Upload- und Downloadschritt können verschiedene Anmeldedatentypen verwendet werden, die Ihren Anforderungen am besten entsprechen:

So übertragen Sie Dateien mit Cloud Storage zwischen einem Computer und einer VM:

  1. Erstellen Sie einen Cloud Storage-Bucket, wenn Sie keinen vorhandenen Bucket für die Dateiübertragung haben.
  2. Verwenden Sie IAM-Berechtigungen, um den Zugriff auf den Bucket zu ändern:
    • Konten, die Dateien in den Bucket hochladen, sollten die Rolle Storage-Objekt-Administrator haben.
    • Konten, die Dateien herunterladen, sollten die Rolle Storage-Objekt-Betrachter haben.
  3. Melden Sie sich beim Quellgerät an und laden Sie die Dateien in den Bucket hoch.
  4. Melden Sie sich beim Zielgerät an und laden Sie die Dateien aus dem Bucket herunter, der die Dateiübertragung vornimmt.
  5. Optional: Löschen Sie Dateien, die nicht mehr benötigt werden, um unerwünschte Speichergebühren zu vermeiden.

Wenn Sie Dateien in die andere Richtung übertragen möchten, können Sie den Vorgang umkehren. Das Konto, das die Datei hochlädt, muss Schreibzugriff auf den Bucket haben.

Dateien über SSH im Browser übertragen

Wenn Sie mit SSH im Browser eine SSH-Verbindung zu einer VM herstellen können, haben Sie die Möglichkeit, über diese Verbindung Dateien an und von der VM zu übertragen.

Auf die VM hochladen

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

  3. Klicken Sie nach dem Herstellen der Verbindung auf das Symbol zum Hochladen .

    Grafik: Symbol zum Hochladen

    Das Dialogfeld zum Hochladen wird geöffnet.

  4. Wählen Sie die Datei(en) zum Hochladen aus.
  5. Laden Sie die Dateien hoch, indem Sie auf Dateien hochladen klicken. Die Datei wird in das Verzeichnis /home/USER hochgeladen.

Von der VM herunterladen

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

  3. Klicken Sie nach dem Herstellen der Verbindung auf das Symbol zum Herunterladen .

    Grafik: Symbol zum Herunterladen

    Das Dialogfeld zum Herunterladen wird geöffnet.

  4. Geben Sie im Textfeld Pfad den relativen Dateipfad der Datei ein, die heruntergeladen werden soll.
  5. Laden Sie die Datei durch Klicken auf Herunterladen herunter. Die Datei wird in den Standarddownloadordner auf Ihrer Workstation heruntergeladen.

Dateien mit der Google Cloud CLI übertragen

Die Google Cloud CLI bietet ein SCP-Dienstprogramm zur Dateiübertragung (Secure Copy Protocol) über eine hergestellte SSH-Verbindung.

So übertragen Sie Dateien mithilfe des SCP:

  1. Prüfen Sie Ihre Firewallregeln und bestätigen Sie, dass SSH-Verbindungen an Port 22 zulässig sind. Falls nicht, erstellen Sie eine SSH-Firewallregel.
  2. Prüfen Sie, ob die gcloud CLI auf dem Quellgerät installiert ist, das die zu übertragenden Dateien enthält.
  3. Verwenden Sie den Befehl gcloud compute scp, um die Dateien an den Zielrechner zu übertragen.

Im folgenden Beispiel wird eine Datei von Ihrer Workstation in das Basisverzeichnis der VM kopiert.

gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR

Dabei gilt:

  • LOCAL_FILE_PATH: der Pfad zur Datei auf Ihrem Rechner
  • VM_NAME: der Name Ihrer VM
  • REMOTE_DIR: ein Verzeichnis auf dem Remote-Computer

Sie können auch Dateien und Verzeichnisse umgekehrt vom Remotecomputer kopieren. Im folgenden Beispiel wird ein Verzeichnis rekursiv von der Quelle zum Ziel kopiert:

gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH

Weitere Informationen finden Sie in der Referenzdokumentation zu gcloud compute scp.

Dateien mit SCP auf Linux- und macOS-Workstations übertragen

Das scp-Befehlszeilentool funktioniert wie der Befehl gcloud compute scp, wobei Sie die SSH-Schlüssel manuell verwalten müssen.

Zum Übertragen von Dateien mithilfe von SCP muss in dem von Ihrer VM verwendeten Netzwerk eine Firewallregel gelten, die SSH-Verbindungen an Port 22 zulässt. Sie können prüfen, ob diese Firewallregeln vorhanden sind. Suchen Sie dazu nach einer Firewallregel, die tcp:22-Verbindungen in der Google Cloud Console zulässt.

Zu Firewallregeln

Wenn Sie keine Firewallregel haben, die SSH-Verbindungen an Port 22 zulässt, erstellen Sie die Firewallregel.

Das scp-Tool nutzt die gleichen Schlüsseldateien wie die für die Herstellung einer Verbindung zu Ihren Instanzen mit Standard-SSH.

  1. Wenn Sie noch keinen öffentlichen Schlüssel auf Ihr Google Cloud Console-Projekt oder Ihre VM-Instanz angewendet haben, erstellen Sie ein SSH-Schlüsselpaar und fügen Sie den öffentlichen Schlüssel dem Projekt hinzu oder den Instanzmetadaten.

  2. Finden Sie die externe IP-Adresse der VM, an die Sie Dateien senden möchten. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu Seite „VM-Instanzen“

  3. Verwenden Sie das scp-Tool, um eine Datei von Ihrer Workstation in das Basisverzeichnis der Ziel-VM zu kopieren. In diesem Beispiel befindet sich der private Schlüssel in ~/.ssh/my-ssh-key.

    scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IP_ADDRESS:~
    

    Dabei gilt:

    • LOCAL_FILE_PATH: Der Name der lokalen Datei, die Sie hochladen möchten.
    • USERNAME: Ihr Nutzername
    • IP-ADDRESS: Die externe IP-Adresse für Ihre VM.

Sie können auch Dateien von einer VM auf Ihre lokale Workstation kopieren. Kehren Sie dazu die Quell- und Zielvariablen um. Für dieses Beispiel kopieren Sie eine Datei von Ihrer VM in einen Pfad auf Ihrer Workstation.

scp -i ~/.ssh/my-ssh-key USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH

Dabei gilt:

  • USERNAME: Ihr Nutzername
  • IP_ADDRESS: Die externe IP-Adresse für Ihre VM.
  • REMOTE_FILE_PATH: Der Name der Remote-Datei, die Sie herunterladen möchten.
  • LOCAL_FILE_PATH: Der Speicherort auf Ihrer Workstation, in den Sie die Datei herunterladen möchten.

Dateien mithilfe von WinSCP auf Windows-Workstations übertragen

Auf Windows-Workstations können Sie mit dem WinSCP-Client Dateien auf Ihren Instanzen über eine grafische Dateibrowseroberfläche verwalten.

WinSCP verwendet die gleichen Schlüsseldateien, die Sie benutzen, um sich mithilfe von PuTTY mit VMs zu verbinden.

  1. Wenn Sie keine schlüsselbasierte SSH-Authentifizierung für Ihre Instanz konfiguriert haben, gehen Sie so vor:

    1. Erstellen Sie ein SSH-Schlüsselpaar mit PuTTYgen. Der private SSH-Schlüssel muss das Format .ppk haben. Dies ist der Standard für Schlüssel, die von PuTTYgen erstellt werden.

    2. Fügen Sie den öffentlichen SSH-Schlüssel den Metadaten Ihres Projekts oder den Metadaten Ihrer VM hinzu. Weitere Informationen finden Sie unter SSH-Schlüssel zu Projektmetadaten hinzufügen oder SSH-Schlüssel zu Instanzmetadaten hinzufügen.

  2. Finden Sie die externe IP-Adresse der VM, an die Sie Dateien senden möchten.

    1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

      Zu „VM-Instanzen“

    2. Suchen Sie in der Liste der VMs nach der externen IP-Adresse in der Spalte Externe IP-Adresse Ihrer VM.
  3. Laden Sie WinSCP herunter und installieren Sie es. Bei den meisten Nutzern funktionieren für die Installation die Standardeinstellungen.

  4. Starten Sie das WinSCP-Programm. Ein Anmeldefenster wird geöffnet, in dem Sie die Verbindungseinstellungen konfigurieren können.

  5. Konfigurieren Sie in WinSCP die Verbindungseinstellungen.

    1. Wählen Sie im Feld Dateiprotokoll die Option SCP als Dateiübertragungsprotokoll aus.

    2. Geben Sie im Feld Hostname die externe IP-Adresse der VM ein, zu der Sie eine Verbindung herstellen möchten.

    3. Geben Sie im Feld Nutzername den Google-Nutzernamen ein, den Sie verwenden, um auf Ihr Projekt zuzugreifen. In diesem Beispiel ist der Nutzer example-user.

      Das Dateiprotokoll auf "SCP", den Hostnamen auf "104.196.31.103" und den Nutzernamen auf "Example-User" setzen

  6. Klicken Sie auf die Drop-down-Liste Erweitert, um die erweiterten Einstellungen zu öffnen, und gehen Sie zu SSH > Authentifizierung.

  7. Geben Sie im Feld Private Schlüsseldatei den Pfad zu Ihrer privaten Schlüsseldatei des SSH-Schlüsselpaars ein, das Sie für die VM erstellt haben.

    Die private Schlüsseldatei im Dialogfeld "Erweiterte Websiteeinstellungen" auf "my-ssh-key.ppk" festlegen

  8. Klicken Sie auf OK, um die erweiterten Einstellungen zu speichern.

  9. Klicken Sie auf Login, um eine Verbindung zu Ihrer VM herzustellen. Wenn die Verbindung erfolgreich ist, öffnet sich das Fenster Ihres lokalen Dateisystems auf der linken Seite und das Dateisystem der VM auf der rechten Seite. Sie können in diesen Dateisystemen verschiedene Verzeichnisse öffnen und Dateien per Drag-and-drop in Ihre VM und von Ihrer VM übertragen.

  10. Sie haben wahrscheinlich keine Berechtigung, die meisten Dateien außerhalb Ihres Basisverzeichnisses der VM zu verwalten. Rufen Sie das Basisverzeichnis der VM auf:

    /home/USERNAME
    
  11. Verwenden Sie die Benutzeroberfläche von WinSCP, um Dateien zwischen Ihrer Workstation und der VM zu übertragen.

  12. Nachdem Sie die Dateien in die VM kopiert haben, stellen Sie eine Verbindung zu Ihrer Instanz her, um mit uneingeschränkten sudo-Berechtigungen Dateien ausführen oder verschieben zu können.

Nächste Schritte