How to rsync to Google Cloud VM instance on command line
If you want to connect to a Google Cloud VM instance (my-instance
in this example) from your command line using SSH, use this command:
rsync -Pavz [local file] $(gcloud compute instances list --filter="name=my-instance" --format "get(networkInterfaces[0].accessConfigs[0].natIP)"):
The subcommand (enclosed in $(...)
) finds the correct external IP address for your instance (seeĀ How to find IP address of Google Cloud VM instance on command line for more details), so this command boils down to for example
rsync -Pavz [local file] 35.207.77.101:
Using the -Pavz
option is not specifically neccessary but these are the options I regularly use for rsync
file transfers. You can use any rsync
options, Google Cloud does not impose any specific restrictions here. For reference see the rsync manpage.
In case you want to use a different username for the SSH login, you can of course prefix the $(...)
section like this:
rsync -Pavz [local file] sshuser@$(gcloud compute instances list --filter="name=my-instance" --format "get(networkInterfaces[0].accessConfigs[0].natIP)"):