Skip to content

Instantly share code, notes, and snippets.

@feczo
Last active July 23, 2020 13:14
Show Gist options
  • Star 39 You must be signed in to star a gist
  • Fork 17 You must be signed in to fork a gist
  • Save feczo/7282a6e00181fde4281b to your computer and use it in GitHub Desktop.
Save feczo/7282a6e00181fde4281b to your computer and use it in GitHub Desktop.
How to use Compute Engine - GCE with putty

Pre-requisite: go to http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html download http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe and http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe

Run puttygen and generate the key

  1. Click 'Generate' move the mouse around as instructed and wait

  2. enter your desired username

  3. enter your password

  4. save the private key

  5. copy the entire content of the 'Public key for pasting into OpenSSH authorized_keys file' window. Make sure, you copy every single character from the beginning to the very end!

  6. go to the cloud console http://cloud.google.com/console select your project and under Compute Engine / VM instances click on 'New instance' click on the advanced options link paste in the contents copied at step 5 into the entry box indicated

7. note the IP address of the instance once it is complete

8. Open putty, from the left hand menu go to Connection / SSH / Auth and define the key file location which was saved at step 4

9. from the left hand menu go to Connection / Data and define the same username as the one at step 2

10. Enter the IP address noted at step 7 11. name the connection below saved Sessions as 'GCE' click on 'Save'

12. double click the 'GCE' entry you just created 13. accept the identy of the host

14. login with the password given at step 3

15. sudo su - and you are all set

@hashratez
Copy link

OMG, I spent HOURS trying to figure out Google's instructions... I did it in 5 minutes following yours. THANK YOU.

@hkdhkd
Copy link

hkdhkd commented Mar 30, 2018

I found this article helpful and wrote Japanese translation for Japanese-speaking readers as fork. Thank you.
https://gist.github.com/taka-hkd/ff62715143d03ca7d64f5bb58837c715

@bit-scientist
Copy link

Thank you, it helped. One question. Should I do the same procedures every time I want to use Compute Engine?

@siliconberry
Copy link

Thanks much. it was very useful and I'm able to logon to GCE within few mins, thanks to the detailed procedure.

@rimoune
Copy link

rimoune commented Apr 26, 2018

Thanks feczo for this!
Is there any setting that needs particular attention?
I keep on getting "Network error: Connection timed out" when I try to connect via putty.
Cheers
R

@ankur07garg
Copy link

Disconnected: No supported authentification methods available (server sent: public key). And when I logged into VM from Console ssh, strangely, I can not see any folder with name .ssh on machine. I a stuck on it from 1 week, please help

@samair
Copy link

samair commented Jul 28, 2018

I scratched my head with the howto in Google page, this page is so wonderful.

@superluminance
Copy link

thank you!

@bmomartins
Copy link

Disconnected: No supported authentification methods available (server sent: public key). And when I logged into VM from Console ssh, strangely, I can not see any folder with name .ssh on machine. I a stuck on it from 1 week, please help

Same issue here!

@uniqueperformtechsoft
Copy link

Thanks a lot. Highly Appreciate it

@melwindmello
Copy link

melwindmello commented Dec 13, 2018

Thanks a ton for this article. Yes, the Google documentation on this is not as clear and straight forward as your post.

One thing I did different was configuring the SSH Keys at a Project Level (rather than at VM level) in the GCP Console.
There is an option 'Metadata' in the left navigation pane of 'Compute Engine'. I configured the SSH key in the SSH Keys tab.

Thanks again. Cheers

@dm00z
Copy link

dm00z commented Dec 28, 2018

If anyone have trouble with:

Disconnected: No supported authentication methods available (server sent: public key).

Check if your instance have enable-oslogin set to TRUE. If it is, set it to FALSE then putty should be able to connect using your key.

@ali-cognitro
Copy link

If anyone have trouble with:

Disconnected: No supported authentication methods available (server sent: public key).

Check if your instance have enable-oslogin set to TRUE. If it is, set it to FALSE then putty should be able to connect using your key.

Hi dm00z @dm00z

Still having this issue even enable-oslogin set to FALSE

@joaobrunoah
Copy link

If anyone have trouble with:

    Disconnected: No supported authentication methods available (server sent: public key).

Check if your instance have enable-oslogin set to TRUE. If it is, set it to FALSE then putty should be able to connect using your key.

Genius! Thanks a lot, I've been trying to configure SSH in Google for a while, was almost giving up.

@harshan89
Copy link

Followed every bit of your instruction when I double click on GCE it opens the terminal and shows "server refused our key"

Yes me too

@harshan89
Copy link

If anyone getting "server refused our key" use following solution from arifrohim, It worked for me

https://github.com/arifrohim/rootaccess/blob/master/README.md

Cheers!!

@shivampatel16
Copy link

I can not get the option to choose "GCE" under "Saved Sessions" in step 10 and 11. Any help to get that?

@thiwanka25
Copy link

@ali-cognitro you save my day brother. Thanks

@mp
Copy link

mp commented May 31, 2020

Followed every bit of your instruction when I double click on GCE it opens the terminal and shows "server refused our key"

This is a great tutorial, but step 5. is incomplete.

You need to paste your public key into your home directory's .ssh/authorized keys folder and then chmod it (log in using the Google console's HTML based SSH client). Follow both answers given in https://stackoverflow.com/questions/20249633/how-to-overcome-server-refused-our-key:

  1. user1789769's answer of pasting your public key into into .ssh/authorized keys (I had to create this file)
  2. m.nguyencntt's answer of chmodding .ssh/authorized keys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment