use*_*328 13 linux ssh google-compute-engine
我正在尝试从 Google Cloud Compute(运行 Linux Debian)下载所有服务器文件。我对 SSH 和 Google Cloud Compute 作为一个整体非常不熟悉。我更喜欢复制所有文件(类似于 git pull 请求)或创建 zip 并下载。简而言之,我需要将删除 Google Cloud 服务器上的所有文件复制到我的本地机器上。
先感谢您。
Mis*_*man 14
尝试使用gcloud compute scp:
gcloud compute scp
[[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …]
[[USER@]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]
Run Code Online (Sandbox Code Playgroud)
例如,
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
Run Code Online (Sandbox Code Playgroud)
作为替代方案,您还可以使用 (non- gcloud)sftp或scp; 有关您需要指定的命令行参数的详细信息,请参阅此 SO 答案,为简单起见,我将在此处引用:
sftp -o IdentityFile ~/.ssh/google_compute_engine user@host
Run Code Online (Sandbox Code Playgroud)
要使用任何其他 SFTP 工具,类似地向其提供 SSH 私钥的路径,它将能够连接到实例。但是,在 的情况下gcloud,它可以自己将主机名解析为公共 IP;对于所有其他工具,您需要手动查找 IP 并直接指定 IP 地址。
(gcloud compute copy-files现已弃用,因此gcloud compute scp推荐)
使用gcloud compute scp方法如下:
gcloud compute scp [[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …]
[[USER@]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 …]
Run Code Online (Sandbox Code Playgroud)
例如:
$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \
--zone us-central1-a
Run Code Online (Sandbox Code Playgroud)
如果zone已经设置好了(使用gcloud config set compute/zone ZONE或者通过环境变量,那么就不需要在上面指定zone了)
此外,gcloud compute scp默认情况下不递归复制。我们需要为此使用--recurse标志。
请参阅此处的详细文档。
| 归档时间: |
|
| 查看次数: |
42327 次 |
| 最近记录: |