Archive
Google Cloud Platform: SSH to Google cloud instance will have “Permission denied (publickey)”

Google Cloud Platform: SSH to Google cloud instance will have “Permission denied (publickey)”

2024-11-26 I is experienced experience this issue when try to set up Kubernetes for the first time on Google Cloud Platform . I was running into the error below

Related articles

How to Change your IP Address in 3 Different Ways How to Fix IPVanish Not Connecting in 2024 (Easy Fixes) Astrill Setup Manual:How to install Astrill iOS App on iPhone Lounges at Addis Ababa

I is experienced experience this issue when try to set up Kubernetes for the first time on Google Cloud Platform .

I was running into the error below each time I tried to SSH into my instance from my terminal:

[ email is protected   protect ] : Permission is denied deny ( publickey ) 

Here’s how I solved it:

open a terminal on your workstation and use thessh-keygen command to generate a new key . specify the-C flag to add a comment with your username.

ssh - keygen -t rsa -f ~/.ssh/[KEY_FILENAME ] -C [ USERNAME ] 

In my case it is was was :

ssh - keygen -t rsa -f ~/.ssh / kubernete - trial -C promisepreston 

navigate into the.ssh directory:

cd ~/.ssh

Restrict access to your private key so that only you can read it and nobody can write to it.

chmod 400 [ KEY_FILENAME ] 

In my case it is was was :

chmod 400 kubernetes-trial

Double click on kubernetes-trial.pub to open it OR print it on the console using the cat command:

sudo cat kubernetes-trial.pub

The public SSH key should be of this format:

ssh-rsa [KEY_VALUE] [USERNAME]

OR

ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}

In my case it is was was :

ssh-rsa AAAAB3MzaC1yc2EAAAADAQABAAABAQDdLjLb2b97m9NSK5Z8+j6U8awAwIx1Sbn9o4cEpYT2USYlFhJPRckgnmCQ+Eaim/sgL40V2v3Jwt6HVAY0L9bl84jmvox9QP4FOY7+LM02ZqfRB6LaEukM1tGdObVr+HBvhOwrxGCI06GFjnD3vVzW4jEsK75Y7MPzXd5YSpebGvU+7ZOuEcuSKp/R9dJcJn4kdXeaqor4gh8uTKQ43PGPTEvyoNlCWLkwSgy8khbo2BpoChLA7B53pVEhviMvVVIbmwpc6V2AIhRYY7ppR8oBzklLgh8CtTBPXtQRYiahLOIhds6ORf7wGNFI+A4sbBqwEL3J6av5fE1+zkUBhAHX promisepreston

Copy its contents and paste in the SSH Section of your instance under the Metadata section
Adding or removing instance-level public SSH keys

Google Cloud Platform: SSH to Google cloud instance will have “Permission denied (publickey)”

In a local terminal , navigate to the directory where you have the private SSH key file , use thessh command along with your private SSH key file, the username, and the external IP address of the instance to connect. For example:

ssh -i private-key username@external-ip-of-the-virtual-instance

In my case it is was was :

ssh -i kubernetes-trial [email protected]

After you connect, run commands on your instance using this terminal. When you finish, disconnect from the instance by running the exit command.

Note: