GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich Dateien von einem Google Cloud Compute Server auf meinen lokalen Computer kopieren?

Versuchen Sie es mit gcloud compute scp :

gcloud compute scp 
  [[[email protected]]INSTANCE:]SRC [[[[email protected]]INSTANCE:]SRC …]
  [[[email protected]]INSTANCE:]DEST
  [--compress] [--dry-run] [--force-key-file-overwrite]
  [--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG]
  [--ssh-key-file=SSH_KEY_FILE]
  [--strict-host-key-checking=STRICT_HOST_KEY_CHECKING]
  [--zone=ZONE]
  [GCLOUD_WIDE_FLAG …]
  [-h]

B.

$ gcloud compute scp \
    my-instance-1:~/file-1 \
    my-instance-2:~/file-2 \
    ~/my-destination \
    --zone us-central2-a

Alternativ können Sie auch (non-gcloud ) sftp oder scp; siehe diese SO-Antwort für Details zu den Befehlszeilenargumenten, die Sie angeben müssen, die ich hier der Einfachheit halber zitieren werde:

sftp -o IdentityFile ~/.ssh/google_compute_engine [email protected]

Um ein anderes SFTP-Tool zu verwenden, geben Sie ihm auf ähnliche Weise den Pfad zum privaten SSH-Schlüssel an, damit es eine Verbindung zur Instanz herstellen kann. Im Fall von gcloud jedoch , kann es den Hostnamen selbst in die öffentliche IP auflösen; für alle anderen Tools müssen Sie die IP manuell finden und die IP-Adresse direkt angeben.


(gcloud compute copy-files ist jetzt veraltet, daher gcloud compute scp wird empfohlen)

Verwenden Sie gcloud compute scp wie folgt:

gcloud compute scp [[[email protected]]INSTANCE:]SRC [[[[email protected]]INSTANCE:]SRC …]
[[[email protected]]INSTANCE:]DEST [--compress] [--dry-run] [--force-key-file-overwrite]
[--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG] 
[--ssh-key-file=SSH_KEY_FILE] [--strict-host-key-checking=STRICT_HOST_KEY_CHECKING]
[--zone=ZONE] [GCLOUD_WIDE_FLAG …]

Zum Beispiel:

$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \
      --zone us-central1-a

Wenn die Zone bereits eingestellt ist (mit gcloud config set compute/zone ZONE oder über die Umgebungsvariable, dann müssen Sie die Zone oben nicht angeben)

Auch gcloud compute scp kopiert standardmäßig nicht rekursiv. Wir müssen den --recurse verwenden Flagge dafür.

Siehe die ausführliche Dokumentation hier.


Vielleicht können Sie SFTP verwenden (Google verwendet Filezilla in ihren Dokumenten). Ich bin nicht so gut mit CLI und mag daher die GUI-Optionen, die Filezilla und andere bieten.

Hier sind die Schritte auf hoher Ebene:

  1. Installieren Sie das gcloud SDK ($ gcloud init) und führen Sie es aus )
  2. SSH-Schlüssel generieren ($ gcloud compute ssh )
  3. Richten Sie den FTP-Client ein (installieren und fügen Sie die Schlüsseldatei hinzu)
  4. Verbinden Sie sich über den SFTP-Client mit der VM

Und hier ist die Dokumentation von Google.

Außerdem habe ich dies aufgezeichnet, es könnte hilfreich sein:

https://www.youtube.com/watch?v=9ssfE6ODpak


Linux
  1. Wie kopiere ich den gesamten Ordner von der Amazon EC2-Linux-Instance auf den lokalen Linux-Computer?

  2. So kopieren Sie eine Datei von einem Vagrant-Computer auf localhost

  3. Wie kann ich den ALTEN Verlauf aus Google Chrome entfernen?

  4. Wie kann ich die Ausgabe eines Remote-Befehls in die lokale Zwischenablage kopieren?

  5. Kann ich von der Linux-Shell aus eine Verbindung zu einem Windows-Computer herstellen?

So erstellen Sie eine virtuelle Maschine (VM) auf der Google Cloud Platform (GCP)

So laden Sie Dateien vom SFTP-Server mit Python-Skript herunter

Wie kopiert man Einstellungen von einem Gerät auf ein anderes?

Wie man einen Cloud-Server zurücksetzt

So verwenden Sie Rsync zum Kopieren/Synchronisieren von Dateien zwischen Servern

Wie kann ich einen Ordner über die Linux-Befehlszeile kopieren?