ลองใช้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]
เช่น,
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
คุณสามารถใช้ (ไม่ใช่ - gcloud
) sftp
หรือscp
; ดูคำตอบ SO นี้สำหรับรายละเอียดเกี่ยวกับอาร์กิวเมนต์บรรทัดคำสั่งที่คุณต้องระบุซึ่งฉันจะอ้างถึงที่นี่เพื่อความง่าย:
sftp -o IdentityFile ~/.ssh/google_compute_engine user@host
หากต้องการใช้เครื่องมือ SFTP อื่น ๆ ให้ระบุพา ธ ไปยังคีย์ส่วนตัว SSH ในทำนองเดียวกันและจะสามารถเชื่อมต่อกับอินสแตนซ์ได้ อย่างไรก็ตามในกรณีที่gcloud
สามารถแก้ไขชื่อโฮสต์ให้เป็น IP สาธารณะได้ สำหรับเครื่องมืออื่น ๆ ทั้งหมดคุณจะต้องค้นหา IP ด้วยตนเองและระบุที่อยู่ IP โดยตรง