To transfer files to Compute Engine virtual machine (VM) instances, different options are available depending on your workstation OS and the target instance OS.
Transfer from | To Windows instances |
---|---|
Linux | |
Windows, macOS, or Android |
Transferring files through Cloud Storage
Cloud Storage buckets can be used as a transfer point between you and your VMs. You can use a web browser, the Google Cloud CLI, or a programming language to transfer files between Cloud Storage and Compute Engine VMs.
Different credential types can be used for the upload and download step to best suit your needs:
- User account credentials are best for single use operations, or resources that you are primarily responsible for.
- Consider service account credentials for scaled deployments and shared resource scenarios.
To use Cloud Storage to transfer files between a computer and a VM, do the following:
- Create a Cloud Storage bucket if you don't have an existing bucket to use for file transfers.
-
Use IAM permissions to modify
the access to the bucket:
- Accounts uploading file(s) to the bucket should have the Storage Object Admin granted.
- Accounts downloading file(s) should have the Storage Object Viewer role granted.
- Log in to the source device and upload the files to the bucket.
- Log in to the destination device and download the files from the bucket completing the file transfer.
- Optional: Delete files that you no longer need to prevent any unwanted storage charges.
If you need to transfer files in the other direction, you can reverse the process. Ensure that the account uploading the file has write access to the bucket.
Transfer files using the Google Cloud CLI
Google Cloud CLI provides a Secure Copy Protocol (SCP) file transfer utility over an established SSH connection.
To transfer files using SCP, do the following:
- Enable SSH on your Windows VM if it's not already enabled.
-
Review your firewall rules
and confirm that SSH connections in on port
22
are permitted; if not create a SSH firewall rule. - Ensure gcloud CLI is installed on the source device containing the files to be transferred.
-
Use the
gcloud compute scp
command to transfer the files to the destination machine.
The following example copies a file from your workstation to the home directory of the VM:
gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR
Replace the following:
LOCAL_FILE_PATH
: the path to the file on your machineVM_NAME
: the name of your VMREMOTE_DIR
: a directory on the remote machine
You can also copy files and directories in reverse from the remote machine. The following example recursively copies a directory from the source to the destination:
gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH
For more information, see the
gcloud compute scp
reference documentation.
Transferring files through the Windows RDP client
Many first party Microsoft RDP Clients support connecting local storage to a remote Windows VM; however this is not supported on all clients.
Follow the instructions for the operating system of the device you're transferring files to or from:
Windows
Transfer files through the built-in Remote Desktop Connection app
(%systemroot%/system32/mstsc.exe
) by doing the following:
- Open the Remote Desktop Connection application.
- Expand Show Options.
- Click the Local Resources tab.
- Under Local devices and resources, click More.
- Select the Drives checkbox, or pick your chosen drive.
- Connect and login to the VM as you would normally.
- Open File Explorer on the remote machine and see your drive mounted.
- Use this drive for file transfers while you are connected.
macOS
Transfer files through the Remote Desktop Microsoft RDP Client for macOS by doing the following:
- Click the + icon in the top left.
- Select Add PC.
- Under the Folders tab, enable Redirect folders.
- Press + icon in the bottom left.
- Choose a folder that you would like redirected.
- Connect and login to the VM as you would normally.
- Open File Explorer on the remote machine and see your folder mounted.
- Use this drive for file transfers while you are connected.
Android
Transfer files through the Remote Desktop app from Microsoft.
- Press the + icon in the top right.
- Select Add PC.
- Under Device & Audio Redirection, enable Storage.
- Connect and login to the VM as you would normally.
- Open File Explorer on the remote machine and see your storage mounted.
- Use this drive for file transfers while you are connected.
What's next
- Connect to your VMs to use the files that you transferred.