Wondering how to fix AWS EC2 “Putty Fatal Error”? We can help you.
Often AWS users report to us that they receive this error while connecting to Amazon Elastic Compute Cloud (Amazon EC2) Linx instance.
Here at Bobcares, we handle requests from our customers to fix similar errors as a part of our Server Management Services.
Today we will see how our Support Engineers fix this for our customers.
How to fix AWS EC2 “Putty Fatal Error”
Before going into the steps for fixing this error we will see what causes this error.
The error can be seen in the following two ways:
1. While connecting to Linux instance using SSH:
“Using username “root”. Authentication with public key “imported-openssh-key” Please login as the user “ec2-user” rather than the user “root”.”
2. The error can also be seen while using the PuTTY client:
“PuTTY Fatal Error: Disconnected: No supported authentication methods available (server sent: publickey) OK
Following are the causes for this error:
1. We may not be connecting with the appropriate user name for the AMI while starting an SSH session with an EC2 instance.
2. Using the wrong private key when for the SSH session with an EC2 instance also ends up with this error.
Steps to fix this error
Following are the steps that our Support Engineers follow to fix this error for our customers:
Verify that the user name is correct
We must ensure that we are trying to connect with the appropriate user name.
Generally, we can connect to the instance using the user name for the user account or the default user name for the AMI that we used to launch your instance.
We can get the default user name for the AMI that we use to launch the instance:
- Amazon Linux 2 or the Amazon Linux AMI: the user name is
- CentOS AMI: the user name is
- Debian AMI: the user name is
- Fedora AMI: the user name is
- RHEL AMI: the user name is
- SUSE AMI: the user name is
- Ubuntu AMI: the user name is
root don’t work, check with the AMI provider.
Verify that the private key is correct
This can be done with the following steps:
1. Firstly, open the Amazon EC2 console, and click Instances.
2. Then find the EC2 instance we wish to connect to using SSH.
3. After that, in the Key Name column we must verify the name of the private key used to connect SSH:
We need to verify that the SSH private key matches the private key in the Key Name column for your EC2 instance in the console.
Also, we need to verify that the private key (.pem) file is converted into the format recognized by PuTTY (.ppk).
macOS or Linux
We can run the following command to ensure that the permission is set right for the key pair file so that only you can view it:
$ chmod 400 my-key-pair.pem
Then check the directory and file name that we specify after the -i flag to ensure the correct path to the private key, as shown in the following example command:
$ ssh -i my-key-pair.pem firstname.lastname@example.org.XX.XX
Use the EC2 Serial Console
If the EC2 Serial Console is enabled for Linux, we can use it to troubleshoot supported Nitro-based instance types.
The serial console helps us to troubleshoot boot issues, network configuration, and SSH configuration issues.
We can access the serial console using the Amazon EC2 console or the AWS Command Line Interface (AWS CLI). Make sure to use the latest version of AWS CLI.
[Need assistance? We can help you]
To conclude, we saw the steps that our Support Techs follow to fix this error for our customers.