Surya
Surya

Reputation: 3508

connect to host localhost port 22: Connection refused

While installing hadoop in my local machine , i got following error

ssh -vvv localhost 
OpenSSH_5.5p1, OpenSSL 1.0.0e-fips 6 Sep 2011 
debug1: Reading configuration data /etc/ssh/ssh_config    
debug1: Applying options for * 
debug2: ssh_connect: needpriv 0 
debug1: Connecting to localhost [127.0.0.1] port 22. 
debug1: connect to address 127.0.0.1 port 22: Connection refused 
ssh: connect to host localhost port 22: Connection refused

can some one help me to resolve this error , than changing port number

Upvotes: 135

Views: 542966

Answers (30)

AK Alhamdani
AK Alhamdani

Reputation: 111

I am using virtualBox and I changed the network settings, I had to restart ubuntu and it worked

Upvotes: 0

miss_stuck_a_lot
miss_stuck_a_lot

Reputation: 23

Answer for this question incase you're using a WSL system:

run sudo service ssh start

after reinstalling ssh. This helped me.

Upvotes: 0

Eric Atinga
Eric Atinga

Reputation: 29

On WSL supported ubuntu I ran

service ssh start

Then

ssh localhost

It worked

Upvotes: -1

Mariusz Szymoniak
Mariusz Szymoniak

Reputation: 61

What worked for me was modifying the ssh config file to the following:

Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa

Upvotes: 0

Arwan Khoiruddin
Arwan Khoiruddin

Reputation: 454

I did all the suggestion above and it did not work. Then I restart the ssh service and it works. This is what I do:

service sshd restart

Then I redo

ssh localhost

Now I can connect to my localhost. Hope it helps

Upvotes: 21

peqhv2
peqhv2

Reputation: 1

if youre apache server is not running your local host wont run check that out there are some articles if you dont get it i will leave a link here ;)

check this

I had same error got it done rn

Upvotes: -1

0p3r4t0r
0p3r4t0r

Reputation: 693

  1. Before installing/reinstalling anything check the status of sshd . . .
sudo systemctl status sshd
  1. You should see something like . . .
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor prese>
   Active: inactive (dead)
     Docs: man:sshd(8)
           man:sshd_config(5)
  1. Just enable and start sshd
sudo systemctl enable sshd
sudo systemctl start sshd

Upvotes: 3

Himanshu Singh
Himanshu Singh

Reputation: 21

try sudo vi /etc/ssh/sshd_config

in first few lies you'll find

Package generated configuration file

See the sshd_config(5) manpage for details

What ports, IPs and protocols we listen for

Port xxxxx

change Port xxxxx to "Port 22" and exit vi by saving changes.

restart ssh sudo service ssh restart

Upvotes: 2

hiruna72
hiruna72

Reputation: 26

Check file /etc/ssh/sshd_config for Port number. Make sure it is 22.

Upvotes: 0

Dami
Dami

Reputation: 757

I use a Mac, this worked for me:

Open System Preferences, then search for 'sharing'.

Choose Remote Login, make sure it is on and remember to add required users.enter image description here

Got it from here

Upvotes: 22

Rushikesh
Rushikesh

Reputation: 81

If you restart service then it will work

$ service sshd restart

then check

$ ssh localhost

It will work

Upvotes: 8

agabsi
agabsi

Reputation: 1

if you are able to ping and not able to ssh, then it is a firewall. The firewall on 18.4 (not sure about other versions) in on by default and only allow port 8080.

Here how you fix it

https://linuxconfig.org/how-to-enable-disable-firewall-on-ubuntu-18-04-bionic-beaver-linux

Upvotes: 0

Frida Schenker
Frida Schenker

Reputation: 1529

What worked for me is:

sudo mkdir /var/run/sshd
sudo apt-get install --reinstall openssh-server

I tried all the above mentioned solutions but somehow this directory /var/run/sshd was still missing for me. I have Ubuntu 16.04.4 LTS. Hope my answer helps if someone has the same issue.

Upvotes: 4

Rupeshrams
Rupeshrams

Reputation: 31

you need to check the configuration in sshd_config ListenAddress 0.0.0.0 update this and restart the sshd service that will resolve the issue.

Upvotes: 0

Nehal Pawar
Nehal Pawar

Reputation: 97

For Linux:

  1. Remove SSH with the following command:

    sudo apt-get remove openssh-client openssh-server
    
  2. Install SSH again with:

    sudo apt-get install openssh-client openssh-server
    

Upvotes: 0

Linh
Linh

Reputation: 203

I used:

sudo service ssh start

Then:

ssh localhost

Upvotes: 17

Divyang Shah
Divyang Shah

Reputation: 1668

  1. Remove SSH with the following command:

    sudo apt-get remove openssh-client openssh-server
    
  2. Install SSH again with:

    sudo apt-get install openssh-client openssh-server
    

It will solve your problem.

Upvotes: 126

Tariq
Tariq

Reputation: 34184

Do you have sshd installed? You can verify that with:

which ssh
which sshd

For detailed information you can visit this link.

Upvotes: 42

abhinav
abhinav

Reputation: 1282

Check if this port is open. Maybe your SSH demon is not running. See if sshd is running. If not, then start it.

Upvotes: 13

Michael Z
Michael Z

Reputation: 4013

Try installing whole SSH package pack:

sudo apt-get install ssh

I had ssh command on my Ubuntu but got the error as you have. After full installation all was resolved.

Upvotes: 30

Kwaku Sarpong Manu
Kwaku Sarpong Manu

Reputation: 23

If you're certain that you have installed ssh, then it's possible that ssh and/or sshd has been terminated or the server service hasn't been started. To check whether these processes are running use:

//this tells you whether your ssh instance is active/inactive
sudo service ssh status

OR

//this list all running processes whose names contain the string "ssh"
sudo ps -A | grep ssh

It's likely that ssh would be active and running but sshd would not. To enable them:

sudo service ssh start

NB; - some systems have a restart option but mine didn't

Upvotes: 2

Berk CELEBI
Berk CELEBI

Reputation: 11

if you are using centOS or Red Hat, you should first update SElinux. Execute the following statement

ausearch -c 'sshd' --raw | audit2allow -M my-sshd

then you need to execute

semodule -i my-sshd.pp

good luck

Upvotes: 1

IskandarG
IskandarG

Reputation: 333

For what its worth I got the following error trying to ssh into my local machine, running Ubuntu 16.04 Xenial, from a vm.

 ssh: connect to host 192.168.144.18 port 22: Connection refused

It got immediately fixed with:

sudo apt-get install ssh

Take note, Before fix: 'which sshd' returned nothing and 'which ssh' returned

/usr/bin/ssh

And After the fix: 'which sshd' returned

/usr/sbin/sshd

Upvotes: 4

user2498105
user2498105

Reputation: 71

On mac go to system settings->network->sharing and allow remote login.

try ssh localhost

You should be good.

Upvotes: 3

Sanyog Tiwari
Sanyog Tiwari

Reputation: 31

A way to do is to go to terminal

$ sudo gedit /etc/hosts

***enter your ip address ipaddress of your pc  localhost 
    ipaddress of your pc  localhost(Edit your pc name with localhost) **

and again restart your ssh service using:

$ service ssh restart

Problem will be resolve. Thanks

Upvotes: 1

User Learning
User Learning

Reputation: 3513

Actually i solved this, I just installed shh daemon.

in terminal :

sudo apt-get install openssh-server

Upvotes: 3

damian1baran
damian1baran

Reputation: 1397

It might be caused by some of the following:

  1. SSH Server is not installed (only SSH Client), try: apt-get install ssh openssh-client openssh-server
  2. Connection is blocked by iptables (Firewall), try: ufw allow ssh

Upvotes: 3

Shiqing Fan
Shiqing Fan

Reputation: 708

For my case(ubuntu 14.04, fresh installed), I just run the following command and it works!

sudo apt-get install ssh

Upvotes: 4

GoingMyWay
GoingMyWay

Reputation: 17478

You may should edit your /etc/hosts. For example if my hostname is ub0, but the hostname in /etc/hosts is localhost, it may occur

connect to host ub0 port 22: Connection refused

Because the hostname in /etc/hosts is localhost not ub0.

So, you should be careful the hostname when building up distributed clusters.

Upvotes: 1

Dinesh
Dinesh

Reputation: 11

If you still face problems, try the following:

sudo ufw enable    
sudo apt-get install openssh-server

This might work too.

Upvotes: 1

Related Questions