connect to host localhost port 22: Connection refused
LinuxHadoopSshLinux Problem Overview
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
Linux Solutions
Solution 1 - Linux
If install Hadoop on Mac OSX, make sure turn on Remote Login under System Preferences then File Sharing. This worked on my machine.
Solution 2 - Linux
-
Remove SSH with the following command:
sudo apt-get remove openssh-client openssh-server
-
Install SSH again with:
sudo apt-get install openssh-client openssh-server
It will solve your problem.
Solution 3 - Linux
Do you have sshd
installed? You can verify that with:
which ssh
which sshd
For detailed information you can visit this link.
Solution 4 - Linux
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.
Solution 5 - Linux
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 ssh restart
Then I redo
ssh localhost
Now I can connect to my localhost. Hope it helps
Solution 6 - Linux
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.
Solution 7 - Linux
Check if this port is open. Maybe your SSH demon is not running. See if sshd is running. If not, then start it.
Solution 8 - Linux
I used:
sudo service ssh start
Then:
ssh localhost
Solution 9 - Linux
If you restart service then it will work
$ service sshd restart
then check
$ ssh localhost
It will work
Solution 10 - Linux
Make sure that /etc/hosts.allow contains:
ssh:ALL:allow
sshd:ALL:allow
OR
ssh:localhost:allow
sshd:localhost:allow
OR - some other variant
ssh:{host1,host2,host3...}:allow
sshd{host1,host2,host3...}:allow
INSURE that the first line in the file DOES NOT begin with ALL:ALL:DENY
NOTHING will be able to communicate with the host... on any port.
Solution 11 - Linux
For my case(ubuntu 14.04, fresh installed), I just run the following command and it works!
Solution 12 - Linux
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
Solution 13 - Linux
It might be caused by some of the following:
- SSH Server is not installed (only SSH Client), try:
apt-get install ssh openssh-client openssh-server
- Connection is blocked by iptables (Firewall), try:
ufw allow ssh
Solution 14 - Linux
On mac go to system settings->network->sharing and allow remote login.
try ssh localhost
You should be good.
Solution 15 - Linux
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. [tag:ubuntu] [tag:ssh][tag:xenial]
Solution 16 - Linux
- Before installing/reinstalling anything check the status of sshd . . .
sudo systemctl status sshd
- 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)
- Just enable and start sshd
sudo systemctl enable sshd
sudo systemctl start sshd
Solution 17 - Linux
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
Solution 18 - Linux
My port number is different. i tried using
ssh localhost -p 8088
this worked for me
Solution 19 - Linux
If you still face problems, try the following:
sudo ufw enable
sudo apt-get install openssh-server
This might work too.
Solution 20 - Linux
Actually i solved this, I just installed shh daemon.
in terminal :
> sudo apt-get install openssh-server
Solution 21 - Linux
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
Solution 22 - Linux
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
Solution 23 - Linux
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
Solution 24 - Linux
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.
Solution 25 - Linux
For Linux:
-
Remove SSH with the following command:
sudo apt-get remove openssh-client openssh-server
-
Install SSH again with:
sudo apt-get install openssh-client openssh-server
Solution 26 - Linux
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.
Solution 27 - Linux
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
Solution 28 - Linux
Check file /etc/ssh/sshd_config for Port number. Make sure it is 22.
Solution 29 - Linux
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 ;)
I had same error got it done rn