0% found this document useful (0 votes)
43 views

SSH Connection Refused

The document discusses troubleshooting the "Connection Refused" error when attempting to use SSH. It provides 5 common reasons for this error: 1) the SSH service is down, 2) incorrect credentials are used, 3) the port being used is closed, 4) SSH is not installed on the server, or 5) firewall settings are blocking the SSH connection. It then provides tips for troubleshooting each reason, such as restarting the SSH service, checking credentials and port, opening the port, installing SSH, or changing firewall rules to accept the connection.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

SSH Connection Refused

The document discusses troubleshooting the "Connection Refused" error when attempting to use SSH. It provides 5 common reasons for this error: 1) the SSH service is down, 2) incorrect credentials are used, 3) the port being used is closed, 4) SSH is not installed on the server, or 5) firewall settings are blocking the SSH connection. It then provides tips for troubleshooting each reason, such as restarting the SSH service, checking credentials and port, opening the port, installing SSH, or changing firewall rules to accept the connection.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

How to Fix the SSH “Connection

Refused” Error

Downloaded on: 06 September 2022


Secure Shell (SSH) is a key WordPress development tool. It grants advanced users access to
key platforms and software that make coding and other tasks easier, faster, and more
organized.

So if you attempt to use SSH only to see a “Connection refused” error, you may start to feel
concerned. However, this is a common issue, and it’s entirely possible to fix it on your own
with just a bit of troubleshooting. You’ll be back to running commands in no time flat.

In this post, we’ll discuss what SSH is and when to use it. Then we’ll explain some common
reasons your connection may be refused, including in PuTTY. Finally, we’ll provide some
troubleshooting tips.

Let’s dive in!

Prefer to watch the video version?

What Is SSH and When Should I Use It?


Secure Shell (SSH), also sometimes called Secure Socket Shell, is a protocol for securely
accessing your site’s server over an unsecured network. In other words, it’s a way to safely
log in to your server remotely using your preferred command-line interface:
— Using SSH to remotely access a WordPress site hosted on Kinsta

Unlike File Transfer Protocol (FTP), which only enables you to upload, delete, and edit files
on your server, SSH can accomplish a wide range of tasks. For instance, if an error locks you
out of your WordPress site, you can use SSH to access it remotely.

This protocol also enables you to use several key developer tools, including:

WP-CLI. The WordPress command line. You can use it for a variety of tasks, including
new installations, bulk plugin updates, and media file imports.
Composer. A PHP package manager. It enables you to implement several frameworks
for use in your site’s code by pulling the necessary libraries and dependencies.
Git. A version control system used to track changes in code. This is especially useful for
teams of developers working together on a single project.
npm. A JavaScript package manager. It includes a command-line and JavaScript
software registry. Note: Kinsta customers will need an Enterprise plan in order to access
this feature.

It’s important to note that using SSH is an advanced skill. Generally speaking, lay users of
WordPress should contact their developers or hosting providers for help, rather than trying to
resolve issues with SSH themselves.
Important

A simple mistyped command could ruin your website, so it’s vital that
you know what you’re doing.

Why Is My SSH Connection Refused? (5 Reasons for


Connectivity Errors)
Unfortunately, there are many scenarios that could occur while you’re trying to connect to
your server via SSH, which might result in an error reading “Connection refused”.

Below are some of the most common issues that might be causing problems for you.

1. Your SSH Service Is Down

In order to connect to your server with SSH, it must be running an SSH daemon – a program
that runs in the background to listen for and accept connections.

If this service is down, you will not be able to successfully connect to your server and may
receive a Connection refused error:

— Connection Refused error in Terminal


Your server’s SSH daemon may be down for a wide variety of reasons, including unexpected
traffic spikes, resource outages, or even a Distributed Denial of Service (DDoS) attack. In
addition to the troubleshooting steps we’ll mention below, you may want to contact your
hosting provider to determine the root cause of the issue.

If you suspect that your SSH service might be down, you can run this command to find out:

sudo service ssh status

If the command line returns a status of down, then you’ve likely found the reason behind your
connectivity error.

Info

Kinsta is developer-friendly and offers SSH access on all of its hosting


plans.

2. You Have the Wrong Credentials

Although it may seem too simple to be true, it’s possible that you’re just entering the wrong
credentials when trying to connect to your server. There are four pieces of information needed
to run SSH:

Host name. The IP address of the server you’re trying to connect to or your domain
name.
Username. Your (S)FTP username.
Password. Your (S)FTP password.
Port. The default port is 22. However, some hosting providers (including Kinsta) change
their SSH port number for security reasons. If this is the case, you should be able to find
it by logging in to your MyKinsta dashboard.

You can also check to see which port is being used for SSH by running this command:

grep Port /etc/ssh/sshd_config

The command line should return the correct port.

Check to make sure you’re entering the right credentials and taking into account the
possibility of typos or entering the wrong IP address or port.

3. The Port You’re Trying to Use Is Closed

A “port” is simply the endpoint to which you’re directed when connecting to your server. In
addition to making sure you have the correct one, you’ll also want to check to see if the port
you’re trying to use is open.

Any open port is a security vulnerability, as hackers can try to exploit it and gain access to the
server. For this reason, unused ports are often closed to prevent attacks.

In the event that port 22, or the custom SSH port for your server, has been closed, you will
likely see a Connection refused error. You can see all the ports listening on your server by
running this command:

sudo lsof -i -n -P | grep LISTEN


This command should return a list of ports with the LISTEN state. Ideally, you want to see
port 22 or your server’s custom SSH port listed here. If it’s not, you’ll need to reopen the port
in order to connect to your server.

4. SSH Isn’t Installed on Your Server

As we briefly mentioned earlier, servers use SSH daemons to listen for and accept
connections. Therefore, if the server you’re trying to connect to doesn’t have one installed,
you won’t be able to access it using SSH.

Generally speaking, almost all hosting providers will have SSH daemons installed on their
servers by default. This particular issue is more common on localhost or dedicated servers.

5. Firewall Settings Are Preventing an SSH Connection

Since open ports present a security risk, firewalls installed to protect servers from hackers
sometimes block connections to them. Unfortunately, this means that even harmless users
who are trying to SSH into their servers may receive a Connection refused error as a result of
firewall settings.

If your setup appears to be in order and you still can’t connect, take a look at your firewall’s
rules. You can display them in your command-line interface with the following commands:

sudo iptables-save # display IPv4 rules

sudo ip6tables-save # display IPv6 rules


Your results will vary, but you’ll want to look for these elements to determine if your firewall is
blocking SSH connections:

dport 22: This refers to the destination port, which for SSH is usually port 22 (reminder:
Kinsta doesn’t use this port number).
REJECT: This would indicate that connections are being refused from the specified
destination.
DROP: Like REJECT, this means that connections to the relevant port are being
blocked.

If you search the results of the commands above for dport 22, you should be able to
determine if your firewall is preventing an SSH connection. If so, you’ll have to change the
rules to accept requests.

Why Does PuTTY Say Connection Refused?


PuTTY is an SSH client. If you’re familiar with FTP, this platform is the FileZilla equivalent to
SSH on Windows machines. In other words, PuTTY enables users to input their credentials
and launch an SSH connection:
— The PuTTY website

If you’re a PuTTY user and see the Connection refused error, the cause is likely one of those
listed above.

This is an SSH connectivity error like any other, and the troubleshooting tips below should
work whether you’re using PuTTY, Terminal, or any other program for connecting to your
server with SSH.

We’ve taken our knowledge of effective website management at scale, and turned it
into an ebook and video course. Click here to download the The 2020 Guide to
Managing 40+ WordPress Sites!

How Do I Troubleshoot SSH Connectivity Errors?


When you’re experiencing an SSH connectivity error, there are a few steps you can take to
troubleshoot it depending on the cause. Here are some tips for troubleshooting the reasons
for a Connection refused error that we covered above:
If your SSH service is down. Contact your hosting provider to see why your SSH
service isn’t running. For localhost or dedicated servers, you can use the command
sudo service ssh restart to try to get it running again.
If you entered the wrong credentials. Once you’ve double-checked the SSH port
using the grep Port /etc/ssh/sshd_config command, try connecting again with
the correct details.
If your SSH port is closed. This is usually a side effect of one of the two reasons listed
below. Either install an SSH daemon on the server you want to connect to or change
your firewall rules to accept connections to your SSH port.
If SSH isn’t installed on your server. Install an SSH tool such as OpenSSH on the
server you want to connect to using the sudo apt install openssh-server
command.
If your firewall is blocking your SSH connection. Disable the firewall rules blocking
your SSH connection by changing the destination port’s settings to ACCEPT.

If you’re attempting to connect to your hosting provider’s server, it may be wiser to contact
support than to try troubleshooting the problem yourself. Users on localhost or dedicated
servers may be able to find further support on more advanced forums if none of the above
solutions works.

Summary
Being able to connect to your server with SSH is convenient in a wide range of situations. It
can enable you to access your site when you’re locked out of your WordPress dashboard, run
commands via WP-CLI, track changes in your site’s code with Git, and more.

Although there are several causes that could be behind your SSH connectivity error, these
are a few of the most common:

1. Your SSH service is down.


2. You have the wrong credentials.
3. The port you’re trying to use is closed.
4. SSH isn’t installed on your server.
5. Firewall settings are preventing an SSH connection.

You might also like