Linux,Unix或Mac OS X上的Google Compute Engine scp文件

时间:2020-01-09 10:38:46  来源:igfitidea点击:

Scp命令使用ssh在网络上的主机之间复制文件以进行数据传输。如何在Linux,OS X或类似Unix的系统上使用scp来促进使用Google Compute Engine虚拟机进行远程文件传输? 解决方法:您需要使用gcloudcompute命令在Google虚拟机实例与由OSX/Linux或类似Unix系统提供支持的本地计算机之间复制文件。

语法

将文件从本地系统复制到远程Google VM的基本语法如下:

gcloud compute copy-files local-file-name {instance-name-here}:/path/ --zone {zone-name-here}

基本语法如下,将文件从远程Google VM复制到本地系统

gcloud compute copy-files {instance-name-here}:/remote/path /local/dir/ --zone {zone-name-here}
gcloud compute copy-files {instance-name-here}:/~filename /local/dir/ --zone {zone-name-here}

例子

要列出您的Google计算虚拟机,请执行:

$ gcloud compute instances list

要将本地/etc/hosts文件复制到us-central1-b区域中托管的名为instance-1的远程vm,请执行:

$ gcloud compute copy-files /etc/hosts Hyman@instance-1:~/ --zone us-central1-b

要将本地~/webapp /目录复制到位于us-central1-b区域中托管的名为instance-1的远程虚拟机,请执行:

$ gcloud compute copy-files ~/webapp/ nginx@instance-1:/var/www/nginx/ --zone us-central1-b

要从位于us-central1-b区域中托管的名为instance-1的远程vm复制远程/foo /目录,请执行:

$ gcloud compute copy-files USER@instance-1:/foo/ ~/backups/ --zone us-central1-b

要从位于us-central1-b区域中托管的名为instance-1的远程vm复制远程文件~/db.conf.py,请执行:

$ gcloud compute copy-files USER@instance-1:~/db.conf.py $HOME/data/ --zone us-central1-b

选项

您可以传递以下选项:

--dry-run : If provided, prints the command that would be run to standard out instead of executing it.
 
--plain : Suppresses the automatic addition of ssh(1)/scp(1) flags. This flag is useful if you want to take care of authentication yourself or re-enable strict host checking.
 
--ssh-key-file SSH_KEY_FILE : The path to the SSH key file. By default, this is ~/.ssh/google_compute_engine.
 
--zone ZONE : The zone of the instance to copy files to/from. If omitted, you will be prompted to select a zone.