Wondering how to resolve Amazon EC2 refused to connect error? We can help you
At Bobcares we assist our customers with several AWS queries as part of our AWS Support Services for AWS users, and online service providers.
Today, let us discuss how our Support Techs resolved above error.
What causes Amazon EC2 refused to connect error?
Typically, error might look as shown below:
“Error connecting to [instance], reason: Connection timed out: connect” or “ssh: connect to host ec2-X-X-X-X.compute-1.amazonaws.com port 22: Connection refused”
We notice “Connection refused” or “Connection timed out” errors when trying to connect to my Amazon EC2 instance using SSH.
Causes for this error are:
- SSH is not running in the instance
- Firewall blocking access
How to resolve Amazon EC2 refused to connect error?
Today, let us see the steps followed by our Support Techs to resolve this error.
To resolve the connection timed out issue, we need to connect to the EC2 instance with either of the available methods:
- EC2 Serial Console
The serial console helps you troubleshoot boot issues, network configuration, and SSH configuration issues.
The serial console connects to your instance without the need for a working network connection.
You can access the serial console using the Amazon EC2 console or the AWS Command Line Interface (AWS CLI).
- AWS Systems Manager Session Manager
AWS Systems Manager Session Manager helps us to connect to the Amazon Elastic Compute Cloud (Amazon EC2) instances in our account.
Once you are connect to EC2, please try the following steps:
As firewall restriction is a common reason for this error, we can try disabling the firewall initially to check if it resolve the error.
Please run the following command to disable firewalls and restart the SSH service.
$ sudo iptables -F $ sudo service sshd restart
This command flushes all main iptables rules, not just for port 22.
Once you regain access to your instance, review your firewall configuration.
2.Verify SSH port
Another reason for the connection time out error is that the SSH port 22 is not in listening state.
In order to verify that the SSH tcp port (22) is in a listening state. Run the below command:
$ sudo netstat -tnlp | grep :22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 849/sshd tcp6 0 0 :::22 :::* LISTEN 849/sshd
It will confirm that the port 22 is in listening state.
3.SSH service is running in the instance
Once we confirm that there are no firewall restrictions and the port 22 is in listening state, we need to confirm that that the SSH service is running in the server.
Run the below command to check that:
systemctl status sshd.service
If it is in the failed status, try starting it by running below command
sudo service sshd restart
[Need help with Amazon error? We’d be happy to assist]
In short, we notice “Connection refused” or “Connection timed out” errors when trying to connect to my Amazon EC2 instance using SSH. Today we saw how our Support Techs resolved it.