WinSCP is a free Windows program for moving files between your computer and a remote server over SFTP or SCP, with a two pane window where you drag and drop. It lets you upload scripts, data, and configuration files to a Compute Engine VM without typing any commands.
The connection uses an SSH key pair rather than a password. You create the pair, put the public half on the VM, and give WinSCP the private half. Failed attempts commonly come down to one of four problems, the wrong username, a private key in the wrong format, a public key that never reached the VM, or a network path that is closed. This guide covers each one.
This walks through connecting WinSCP to a VM with an SSH key and uploading files, then covers where uploaded files go, what to do if you cannot connect, and the command line alternative.
Prerequisites:
Open the console, then the open Menu > Compute > VM Instances
Copy the External IP

Open WinSCP and paste the external IP address into the Host name field. Leave the file protocol as SFTP and the port as 22. In the User name field, enter the username that belongs to your SSH key, not any name you like. Leave the password blank, since the key is used instead. Then click Advanced.

In the Advanced settings, go to SSH, then Authentication. Click the button with three dots next to the private key file field.

Choose the private key file you saved, which must be a .ppk file, then click OK.

Click Login. The first time you connect, WinSCP shows the server’s host key and asks you to confirm it. To be sure you are talking to your own VM, compare the fingerprint with one you obtain securely through the console’s browser SSH window, as WinSCP’s own Google Cloud guide suggests, rather than clicking through without looking.

If you protected the key with a passphrase, enter it and click OK.

You can now see the VM’s files in the right pane. Drag files from your computer on the left into the folder you want.

You are logged in as a normal user, so uploads land in that user’s home directory, and you can only write where that user has permission. To put a file in a protected folder, upload it to your home directory first, then move it into place from an SSH session using sudo.
If you have the gcloud command line installed, gcloud compute scp copies files and manages SSH keys for you, which avoids most of the key problems above. A basic upload looks like this, though I have not tested it:
gcloud compute scp LOCAL_FILE VM_NAME:~ –zone=ZONE
The Adding Files to Instance Disks Using SSH guide in this series covers the command line route in more detail.
That covers connecting WinSCP to a Google Cloud VM and uploading files safely. To go further, explore Prwatech’s Google Cloud training program, which includes placement assistance.