Zkuste použít 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]
např.
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
Jako alternativu můžete také použít (non-gcloud
) sftp
nebo scp
; podrobnosti o argumentech příkazového řádku, které musíte zadat, naleznete v této odpovědi SO, které zde pro zjednodušení uvedu:
sftp -o IdentityFile ~/.ssh/google_compute_engine [email protected]
Chcete-li použít jakýkoli jiný nástroj SFTP, poskytněte mu podobně cestu k soukromému klíči SSH a bude se moci připojit k instanci. Nicméně v případě gcloud
, může sám přeložit název hostitele na veřejnou IP; u všech ostatních nástrojů budete muset najít IP ručně a zadat IP adresu přímo.
(gcloud compute copy-files
je nyní zastaralé, proto gcloud compute scp
se doporučuje)
Použijte gcloud compute scp
takto:
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 …]
Například:
$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \
--zone us-central1-a
Pokud je zóna již nastavena (pomocí gcloud config set compute/zone ZONE
nebo prostřednictvím proměnné prostředí, pak nemusíte specifikovat zónu výše)
Také gcloud compute scp
ve výchozím nastavení nekopíruje rekurzivně. Musíme použít --recurse
vlajka pro to.
Podrobnou dokumentaci naleznete zde.
Možná můžete použít SFTP (google použil Filezilla ve svých dokumentech). Nejsem příliš dobrý s CLI, a proto mám rád možnosti GUI, které nabízí Filezilla a další.
Zde jsou kroky na vysoké úrovni:
- Nainstalujte a spusťte sadu gcloud SDK (
$ gcloud init
) - Vygenerujte klíč SSH (
$ gcloud compute ssh
) - Nastavte klienta FTP (nainstalujte a přidejte soubor klíče)
- Připojte se k virtuálnímu počítači pomocí klienta SFTP
A zde je dokumentace od společnosti Google.
Také jsem to zaznamenal, mohlo by to být užitečné:
https://www.youtube.com/watch?v=9ssfE6ODpak