Search code examples
google-cloud-platformgoogle-compute-enginessh-keys

Google Cloud - accessing Linux VM via private key


I have created a linux VM in Google cloud, and right now I am trying to access the VM through SSH.

I am able to SSH to the server, if I am loged-in to the console via the interface, However I am trying to generate a portable private key file (pem) which I can use it to remote to the server from anywhere.

I can achieve this easily on AWS, or Azure during the VM creation, but this doesn't seem to be the case on GC.


Solution

  • I understand what you mean, but google do it in a bit more automatically.

    In any local computer, first get a service-account json with right access.

    Authorized the gcloud by,

    gcloud auth activate-service-account --key-file=KEY_FILE.json
    

    Then,

    gcloud compute config-ssh [--ssh-config-file=SSH_CONFIG_FILE] [--ssh-key-file=SSH_KEY_FILE]
    

    You may already have ssh file, but that's fine if you simply let gcloud to generate it.

    Finally you can ssh into any compute engine from this computer by,

    gcloud compute ssh [USER@]INSTANCE
    

    While, for next time in the same computer, you just need to use gcloud compute ssh to access it again.