如何解决 SSH 连接中的“连接被拒绝”错误?

如何解决 SSH 连接中的“连接被拒绝”错误?

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

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

然后,我不做任何更改,尝试再登录几次,等待一段时间再试一次。有时我可以登录,有时我不能。这对我来说似乎很随机。

我该如何解决这个问题?

编辑:

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

以下是 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 来进入我的网络服务器。

答案1

您必须在 Linux 上安装 openssh-server 才能运行此功能。获取 Ubuntu 的内部 IP 地址,并使用该 IP 在路由器的端口 22(SSH)部分设置端口转发。尽管如果您不打算从网络外部使用 SSH,则这不是必需的。

安装 openssh-server 的方法如下:

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

答案2

当我看到此 SSH 错误消息时,IP 地址冲突原来是根本原因。

阅读完以上答案后,我怀疑存在 IP 地址冲突,但需要证明地址冲突是不是问题所在。

很棒的文章展示了如何使用 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

答案3

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

arping 192.168.2.254

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

这些线索指向重复的 IP:

  • ping ttl 和往返时间看起来像是 2 个不同的服务器
  • 间歇性断线,无需重启

答案4

尽管我有一个静态 IP 地址,但我也遇到了同样的问题。结果发现我网络上的另一台服务器被分配了相同的(静态)IP 地址。(呃。)因此,问题似乎是由 IP 地址冲突引起的,但发生冲突的方式可能有很多种。如果您将 IP 地址设置为静态,但仍然有问题,请尝试关闭您的计算机并 ping 该地址。如果您收到任何回复,请开始查找其他可能具有相同地址的设备。

相关内容