ssh connection refused on Raspberry Pi

LinuxSshRaspberry Pi3Sshd

Linux Problem Overview


I realize this question has already been asked in some different ways, however it doesn't seem like any of the ways I've come across have worked to fix this problem, so here it goes:

I'm trying to connect to my raspberry pi 3 raspbian setup via ssh on my laptop, but although I have the correct ip address, I keep getting the error:

ssh: connect to host xxx.xxx.xx.x port 22: connection refused.

This is unusual because when I try to ping that address, it works fine. Is there anything I can try to figure out what's wrong?

Also keep in mind I am relatively inexperienced with bash in linux, so inclusion of any specific commands with a description of what they do would be greatly appreciated.

Linux Solutions


Solution 1 - Linux

Apparently, the SSH server on Raspbian is now disabled by default. If there is no server listening for connections, it will not accept them. You can manually enable the SSH server according to this raspberrypi.org tutorial :

>As of the November 2016 release, Raspbian has the SSH server disabled by default.

There are now multiple ways to enable it. Choose one:

From the desktop

>1. Launch Raspberry Pi Configuration from the Preferences menu >2. Navigate to the Interfaces tab >3. Select Enabled next to SSH >4. Click OK

From the terminal with raspi-config

>1. Enter sudo raspi-config in a terminal window >2. Select Interfacing Options >3. Navigate to and select SSH >4. Choose Yes >5. Select Ok >6. Choose Finish

Start the SSH service with systemctl

> sudo systemctl enable ssh > sudo systemctl start ssh

On a headless Raspberry Pi

>For headless setup, SSH can be enabled by placing a file named ssh, without any extension, onto the boot partition of the SD card. When the Pi boots, it looks for the ssh file. If it is found, SSH is enabled, and the file is deleted. The content of the file does not matter: it could contain text, or nothing at all.

Solution 2 - Linux

I think pi has ssh server enabled by default. Mine have always worked out of the box. Depends which operating system version maybe.

Most of the time when it fails for me it is because the ip address has been changed. Perhaps you are pinging something else now? Also sometimes they just refuse to connect and need a restart.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMattView Question on Stackoverflow
Solution 1 - Linuxe0kView Answer on Stackoverflow
Solution 2 - LinuxAshley DuncanView Answer on Stackoverflow