wake-up-neo.com

是什么原因导致“拒绝连接”消息?

这是 规范问题 关于拒绝连接

我们看到很多问题

当我尝试连接到系统时,我收到一条消息

拒绝连接

为什么是这样 ?

119
user9517

:此消息是您要解决的问题的症状。了解消息的原因最终将引导您解决问题。

消息“连接被拒绝”有两个主要原因:

  1. 您尝试连接的IP:Port上没有监听。
  2. 该端口已被防火墙阻止。

没有进程在监听。

到目前为止,这是发出此消息的最常见原因。首先,请确保您尝试连接到正确的系统。如果然后确定这是问题所在,请在远程系统上运行 netstatss1个 例如如果您希望某个进程在端口22222上进行侦听

Sudo netstat -tnlp | grep :22222

要么

ss -tnlp | grep :22222

对于OSX,合适的命令是

Sudo netstat -tnlp tcp | grep '\.80 '

如果什么也没听,那么上面将不会产生任何输出。如果看到一些输出,请确认它是您期望的,然后请参阅下面的防火墙部分。

如果您无权访问远程系统,并且想在将问题报告给相关管理员之前确认问题,则可以使用tcpdump(wireshark或类似工具)。

当尝试连接到没有监听任何内容的IP:port时,从远程系统到初始SYN数据包的响应是带有标志RST,ACK的数据包。这将关闭连接并导致出现连接被拒绝的消息,例如.

$ Sudo tcpdump -n主机192.0.2.1和端口22222
tcpdump:禁止详细输出,请使用-v或-vv进行完整协议解码
收听enp14s0,链接类型为EN10MB(以太网),捕获大小为262144字节

12:31:27.013976 IP 192.0.2.2.34390> 192.0.2.1.22222:标志[S],顺序1207858804,获胜29200,选项[mss 1460,sackOK,TS val 15306344 ecr 0,nop,wscale 7],长度0

12:31:27.020162 IP 192.0.2.1.22222> 192.0.2.2.34390:标志[R。],seq 0, ack 1207858805,赢0,长度0

注意tcpdump使用代表ACK 标志。

端口被防火墙阻止

如果端口被防火墙阻止,并且防火墙已配置为以icmp-port-unreachable响应,这还将导致连接被拒绝的消息。再次,您可以使用tcpdump(或类似工具)查看此内容

$ Sudo tcpdump -n icmp
tcpdump:禁止详细输出,请使用-v或-vv进行完整协议解码

侦听enp14s0,链接类型EN10MB(以太网),捕获大小262144字节13:03:24.149897 IP 192.0.2.1> 192.0.2.2:ICMP 192.0.2.1 tcp端口22222无法访问,长度68

请注意,这还告诉我们阻止防火墙的位置。


因此,现在您知道导致“连接被拒绝”消息的原因是,您应该采取适当的措施,例如请与防火墙管理员联系或调查该进程未侦听的原因。

1个 其他工具也可能可用。

129
user9517

对我来说,在Debian 6上进行压缩非常简单 检查SSH服务

Sudo service ssh status

却一无所获(讯息ssh: unrecognized service安装服务

Sudo apt-get install openssh-server

如果没有建立SFTP连接,这也可以工作,因为SFTP是SSH的子集(而FTPS是FTP的子集)。

5
SharpC

我的Centos Shorewall防火墙磁盘空间不足。令人困惑的是,某些网站(例如youtube和MS)可以正常工作。其他诸如cnn.com失败。清除一些空间并重新启动服务器对我来说解决了这个问题。

0
Mike Ross