当前位置: 首页>>技术教程>>正文


如何解决SSH连接中的’Connection refused’错误?

, ,

问题描述

我家有一台Ubuntu Server 10.10 32位。我正在通过Putty从PC上建立SSH连接。

问题是,有时我可以无缝登录。但是,有时它会给我一个这样的错误:Network error: Connection refused.

然后,我不会更改任何内容,尝试多登录几次,稍等片刻,然后重试。有时我可以登录,有时候我不能。这对我来说似乎很随意。

我能做些什么来解决这个问题?

编辑:

有时,在显示login as:文本后,腻子会出现Network error: Software caused connection abort错误。

这是ping -t输出:

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

我关掉了路由器的防火墙,现在一切似乎都奏效了。除此之外,通过在我的电脑上输入外部IP,我仍然无法进入我的网络服务器。

最佳解决办法

在这之前,您必须在Linux上安装openssh-server。获取Ubuntu的内部IP地址,并使用该IP在路由器的端口22(SSH)部分设置端口转发。虽然如果您不打算从网络外部进行SSH连接,这不是必需的。

以下是如何安装openssh-server:

sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]

次佳解决办法

当我看到这个SSH错误信息时,IP地址冲突是我的根本原因。

在阅读上面的答案后,我怀疑IP地址冲突,但需要证明地址冲突是或不是问题。

这个great article展示了如何使用arp-scan来查看两个硬件是否声称有相同的IP地址。

在我的情况下,服务器机器的静态IP地址为192.168.1.42,我使用arp-scan来检查该地址:

$ sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

如上所示,果然存在冲突。然后,我运行arp-scan而没有grep,发现.43可用,去编辑/etc/network/interfaces并将静态IP从.42更改为.43

第三种解决办法

在出现连接问题的IP地址上使用arping。这将显示每个ping回复的MAC地址,并希望揭露恶意MAC地址。

arping 192.168.2.254

您应该检查DHCP服务器上的DHCP IP地址池,确保没有设备具有与DHCP池冲突的静态IP。

这些线索指出重复IP:

  • ping ttl和往返时间看起来像2个不同的服务器

  • 断断续续而无需重新启动

第四种办法

即使我有一个静态IP地址,我也遇到了同样的问题。原来我的网络上的另一台服务器被分配了相同的(静态)IP地址。 (Duh。)所以看起来问题是由IP地址冲突引起的,但可能有各种可能的方式发生。如果您将自己设置为静态并仍然存在问题,请尝试关闭计算机并ping地址。如果您收到任何回复,请开始寻找还有其他地址可以使用的地址。

第五种办法

与服务器本身相比,这看起来更像是网络设备的问题。

检查/var /log /消息以查看以太网链路的up /down(或无线情况下的wlan)。如果是这样,请尝试更换电缆。

第六种办法

我可以确认这个确切的问题:这不是一个简单的连接问题。以太网链路不改变状态;服务器通过ping可达; ssh连接完美无暇,然后看似随机不连接或现有的SSH会话下降。这发生在Ubuntu 10.04和11.04上。根据Hheimbuerger的建议,我给了服务器一个静态IP,这似乎解决了这个问题。

解决方法:将适配器从DHCP更改为静态。

第七种办法

如果你这样做,你会得到什么?

grep 192.168.2.25 /etc/hosts.deny

如果返回任何东西,那么你需要删除它。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/821.html,未经允许,请勿转载。