116

在我的本地机器上安装 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

有人可以帮我解决这个错误,而不是更改端口号

4

29 回答 29

139

如果在 Mac OSX 上安装 Hadoop,请确保在System Preferences下打开Remote Login然后File Sharing。这在我的机器上有效。

远程登录

于 2014-03-07T16:15:30.117 回答
108
  1. 使用以下命令删除 SSH:

    sudo apt-get remove openssh-client openssh-server
    
  2. 再次安装 SSH:

    sudo apt-get install openssh-client openssh-server
    

它会解决你的问题。

于 2014-08-09T16:58:16.773 回答
37

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

which ssh
which sshd

有关详细信息,您可以访问此链接

于 2013-06-27T06:27:12.873 回答
25

尝试安装整个 SSH 软件包:

sudo apt-get install ssh

ssh在我的 Ubuntu 上有命令,但遇到了你的错误。完全安装后一切都解决了。

于 2015-04-25T17:17:49.630 回答
15

我使用 Mac,这对我有用:

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

选择远程登录,确保它已打开并记得添加所需的用户。在此处输入图像描述

从这里得到

于 2020-05-04T09:07:07.293 回答
14

我做了上面的所有建议,但没有奏效。然后我重新启动 ssh 服务,它就可以工作了。这就是我所做的:

service ssh restart

然后我重做

ssh localhost

现在我可以连接到我的本地主机了。希望能帮助到你

于 2016-06-08T22:24:23.913 回答
13

检查此端口是否打开。也许你的 SSH 恶魔没有运行。查看 sshd 是否正在运行。如果没有,那就开始吧。

于 2013-06-27T06:25:17.940 回答
9

我用了:

sudo service ssh start

然后:

ssh localhost
于 2018-04-01T12:00:42.647 回答
8

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

$ service sshd restart

然后检查

$ ssh localhost

它会工作

于 2016-10-19T10:49:47.597 回答
7

确保 /etc/hosts.allow 包含:

ssh:ALL:allow
sshd:ALL:allow

或者

ssh:localhost:allow
sshd:localhost:allow

或 - 其他一些变体

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

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

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

于 2013-10-04T18:30:48.017 回答
4

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

sudo apt-get install ssh

于 2016-05-30T02:52:15.257 回答
4

对于它的价值,我在尝试从 vm 连接到运行 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
于 2017-05-31T10:23:54.630 回答
3

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

  1. 未安装 SSH 服务器(仅 SSH 客户端),尝试:apt-get install ssh openssh-client openssh-server
  2. 连接被 iptables(防火墙)阻止,尝试:ufw allow ssh
于 2016-06-23T10:19:25.963 回答
3

在 mac 上,转到系统设置-> 网络-> 共享并允许远程登录。

尝试 ssh 本地主机

你应该很好。

于 2017-03-03T16:16:12.197 回答
3

对我有用的是:

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

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

于 2019-02-21T17:48:53.153 回答
3
  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
于 2020-07-30T01:04:58.160 回答
2

如果你确定你已经安装了 ssh,那么ssh和/或可能sshd已经被终止或者服务器服务没有启动。要检查这些进程是否正在运行,请使用:

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

或者

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

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

sudo service ssh start

注意;- 有些系统有重启选项,但我的没有

于 2018-03-07T21:32:37.593 回答
1

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

ssh localhost -p 8088

这对我有用

于 2013-06-27T09:51:53.487 回答
1

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

sudo ufw enable    
sudo apt-get install openssh-server

这也可能奏效。

于 2015-07-14T17:52:16.737 回答
1

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

在终端:

sudo apt-get install openssh-server

于 2016-09-25T17:04:54.053 回答
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

问题将得到解决。谢谢

于 2017-01-11T14:01:18.233 回答
1

如果你使用 centOS 或 Red Hat,你应该先更新 SElinux。执行以下语句

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

那么你需要执行

semodule -i my-sshd.pp

祝你好运

于 2017-11-09T18:33:48.337 回答
1

尝试sudo vi /etc/ssh/sshd_config

在最初的几个谎言中,你会发现

打包生成的配置文件

有关详细信息,请参见 sshd_config(5) 手册页

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

端口 xxxxx

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

重启sshsudo service ssh restart

于 2020-06-02T09:33:21.030 回答
0

您可能应该编辑您的/etc/hosts. 例如,如果 myhostnameub0,但hostnamein/etc/hostslocalhost,它可能会发生

connect to host ub0 port 22: Connection refused

因为hostnamein/etc/hosts不是。localhost_ub0

hostname因此,在构建分布式集群时应该小心。

于 2016-04-28T09:43:45.347 回答
0

对于 Linux:

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

    sudo apt-get remove openssh-client openssh-server
    
  2. 再次安装 SSH:

    sudo apt-get install openssh-client openssh-server
    
于 2018-12-16T22:11:03.527 回答
0

您需要检查 sshd_config ListenAddress 0.0.0.0 中的配置更新此并重新启动将解决问题的 sshd 服务。

于 2019-01-16T16:49:24.677 回答
0

如果你能ping通但不能ssh,那么它就是防火墙。18.4(不确定其他版本)上的防火墙默认开启,只允许端口 8080。

在这里你如何解决它

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

于 2019-02-27T05:51:11.877 回答
0

检查文件 /etc/ssh/sshd_config 以获取端口号。确保它是 22。

于 2020-05-13T11:15:03.883 回答
-1

如果你的 apache 服务器没有运行你的本地主机不会运行检查有一些文章如果你不明白我会在这里留下一个链接;)

检查这个

我有同样的错误完成了

于 2021-11-26T10:21:42.073 回答