So I have somehow waded my way through the heavily stinking gcloud sdk documentation, and managed to create a VM and connect to it. Now I wanted to upload some files to it, but as you'd imagine google be like: "Not so fast! Homie!", and wanted me to use some "SSH keys over Metadata" (whatever the h*ll that means), or do some somersault with its commandline tool.

These "simple" answers also didn't help either :(

Now, all things aside, I am a simple man, and love to appreciate simple things in life like uploading files using filezilla, and If I don't get that, I get pretty upset >:(

Have been pulling my hairs to get such a simple thing working.

Just how does a gentleman here upload some d*mn files yo?


I wrote an in dept article on this topic here it is "Google Cloud FTP and SFTP Setup: The Definitive Guide [2019]"

What is ssh metadata? In simple word if you place your public key on metadata, google automatically update and place the public key on your VM instances (Linux) authorized_key file. After that you can access your VM through SSH.

HOW to uses sftp?

  1. Download Putty (if you are mac user then you can use your default terminal)

  2. Generate public and private key using puttygen (mac:Execute this command on your terminal " ssh-keygen -t rsa -C give-a-username ".

  3. Place the public key into your metadata section

  4. Download filezilla or winscp or cyberduck,

  5. Configure the filezilla or winscp.

That all you need to do.


Ok, so after a lot of voodoo, I got sftp to Google Cloud VM working.

You need to generate a Public-Private Key pair on your local machine, you can use tools like ssh-keygen(linux) or putty-gen (windows).

Once you have the key pair, you can go to the following window in google web console.

Console > Metadata > SSH Keys > Edit > Add Item > Here goes our public key

Now, Since I am a big fan of FileZilla, I navigated to the following setting and added the private key.

Edit > Settings > Connection > SFTP > Add Key File

Now bear in mind, the "key comment" that was generated during creation or maybe added by you later will be the ftp-username and the password will be *blank*.

Happy ftpeeing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.