连接到主机localhost端口22:连接被拒绝

时间:2013-06-27 06:10:51

标签: linux hadoop ssh

在我的本地计算机上安装hadoop时,出现以下错误

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

可以帮助我解决此错误,而不是更改端口号

28 个答案:

答案 0 :(得分:97)

如果在Mac OSX上安装Hadoop,请确保在系统偏好设置下打开远程登录,然后文件共享。这适用于我的机器。

Remote Login

答案 1 :(得分:55)

  1. 使用以下命令删除SSH:

    sudo apt-get remove openssh-client openssh-server
    
  2. 使用以下命令再次安装SSH:

    sudo apt-get install openssh-client openssh-server
    
  3. 它将解决您的问题。

答案 2 :(得分:28)

您是否安装了sshd?您可以通过以下方式验证:

which ssh
which sshd

有关详细信息,请访问this link

答案 3 :(得分:17)

尝试安装整个SSH软件包:

sudo apt-get install ssh

我的Ubuntu上有ssh命令,但是你得到了错误。完全安装后,所有问题都已解决。

答案 4 :(得分:11)

检查此端口是否已打开。也许你的SSH守护进程没有运行。看看ssh是否正在运行。如果没有,那就开始吧。

答案 5 :(得分:6)

我使用的是Mac,这对我有用:

打开系统偏好设置,然后搜索“共享”。

选择“远程登录”,确保已打开,并记得添加所需的用户。enter image description here

Got it from here

答案 6 :(得分:6)

我做了上面的所有建议而且没有用。然后我重新启动ssh服务,它的工作原理。这就是我的工作:

service ssh restart

然后我重做

ssh localhost

现在我可以连接到我的localhost。希望它有所帮助

答案 7 :(得分:6)

确保/etc/hosts.allow包含:

ssh:ALL:allow
sshd:ALL:allow

OR

ssh:localhost:allow
sshd:localhost:allow

或 - 其他一些变种

ssh:{host1,host2,host3...}:allow
sshd{host1,host2,host3...}:allow

确保文件中的第一行不以ALL开头:ALL:DENY

NOTHING将能够在任何端口上与主机通信。

答案 8 :(得分:4)

对于我的情况(ubuntu 14.04,全新安装),我只需运行以下命令就可以了!

sudo apt-get install ssh

答案 9 :(得分:4)

为了它的价值我尝试从本地机器运行,从虚拟机运行Ubuntu 16.04 Xenial时出现以下错误。

 ssh: connect to host 192.168.144.18 port 22: Connection refused

立即修复:

sudo apt-get install ssh

请注意,在修复之前:' sshd'没有任何回报,并且' ssh'返回

/usr/bin/ssh

修复之后:' sshd'返回

/usr/sbin/sshd

答案 10 :(得分:2)

我用过:

sudo service ssh start

然后:

ssh localhost

答案 11 :(得分:2)

如果您重新启动服务,那么它将起作用

$ service sshd restart

然后检查

$ ssh localhost

它会起作用

答案 12 :(得分:2)

在Mac上转到系统设置 - > network->共享并允许远程登录。

尝试ssh localhost

你应该好。

答案 13 :(得分:1)

尝试sudo vi /etc/ssh/sshd_config

在头几个谎言中,您会发现

打包生成的配置文件

有关详细信息,请参见sshd_config(5)联机帮助页

我们要监听哪些端口,IP和协议

端口xxxxx

将端口xxxxx更改为“端口22”,并通过保存更改退出vi。

重新启动ssh sudo service ssh restart

答案 14 :(得分:1)

  1. 在安装/重新安装任何东西之前,请检查sshd的状态。 。 。
sudo systemctl status sshd
  1. 您应该看到类似的内容。 。 。
● 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. 只需启用并启动sshd
sudo systemctl enable sshd
sudo systemctl start sshd

答案 15 :(得分:1)

如果您确定已安装ssh,则ssh和/或sshd可能已终止或服务器服务尚未启动。要检查这些进程是否正在运行,请使用:

//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

ssh可能会处于活动状态且正在运行,但sshd不会。 启用它们:

sudo service ssh start

NB; - 某些系统有重启选项但我的没有

答案 16 :(得分:1)

如果您使用的是centOS或Red Hat,则应首先更新SElinux。 执行以下语句

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

然后你需要执行

semodule -i my-sshd.pp
祝你好运

答案 17 :(得分:1)

一种方法是去终端

$ sudo gedit /etc/hosts

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

并使用以下命令重新启动ssh服务:

$ service ssh restart

问题将得到解决。 感谢

答案 18 :(得分:1)

其实我解决了这个问题, 我刚安装了shh守护进程。

在终端:

  

sudo apt-get install openssh-server

答案 19 :(得分:1)

可能是由以下某些原因引起的:

  1. 未安装SSH服务器(仅限SSH客户端),请尝试:apt-get install ssh openssh-client openssh-server
  2. iptables(防火墙)阻止连接,请尝试:ufw allow ssh

答案 20 :(得分:1)

如果您仍然遇到问题,请尝试以下操作:

sudo ufw enable    
sudo apt-get install openssh-server

这也可能有用。

答案 21 :(得分:1)

我的端口号不同。我尝试使用

ssh localhost -p 8088

这对我有用

答案 22 :(得分:0)

对于Linux:

  1. 使用以下命令删除SSH:

    sudo apt-get remove openssh-client openssh-server
    
  2. 使用以下命令再次安装SSH

    sudo apt-get install openssh-client openssh-server
    

答案 23 :(得分:0)

您需要检查sshd_config ListenAddress 0.0.0.0中的配置以进行更新,然后重新启动sshd服务以解决该问题。

答案 24 :(得分:0)

对我有用的是:

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

我尝试了上述所有解决方案,但是不知何故此目录/ var / run / sshd仍然不存在。我有Ubuntu 16.04.4 LTS。如果有人遇到同样的问题,希望我的回答对您有所帮助。

答案 25 :(得分:0)

如果您能够ping但不能ssh,则它是防火墙。默认情况下,防火墙在18.4(不确定其他版本)上处于启用状态,并且仅允许端口8080。

这里是解决方法

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

答案 26 :(得分:0)

您可以修改/etc/hosts。例如,如果我的hostnameub0,但hostname中的/etc/hostslocalhost,则可能会发生<{p}}

connect to host ub0 port 22: Connection refused

因为hostname中的/etc/hostslocalhost而不是ub0

因此,在构建分布式集群时应注意hostname

答案 27 :(得分:0)

检查文件/ etc / ssh / sshd_config中的端口号。确保它是22。