Linux 检查\u NRPE:错误-无法完成SSL握手

Linux 检查\u NRPE:错误-无法完成SSL握手,linux,ssl,nagios,nrpe,nagiosxi,Linux,Ssl,Nagios,Nrpe,Nagiosxi,我在AmazonEC2实例上的xinetd和本地机器上的nagios服务器下运行NRPE守护进程 复选框\u nrpe-H[amazon公共IP]给出了以下错误: CHECK_NRPE: Error - Could not complete SSL handshake. 两个Nrpe都是相同的版本。两者都使用此选项编译: ./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/i386-linux-gnu/ “允许的主

我在AmazonEC2实例上的xinetd和本地机器上的nagios服务器下运行NRPE守护进程

复选框\u nrpe-H[amazon公共IP]
给出了以下错误:

CHECK_NRPE: Error - Could not complete SSL handshake.
两个Nrpe都是相同的版本。两者都使用此选项编译:

./configure  --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/i386-linux-gnu/
“允许的主机”条目包含我的本地IP地址


现在出现此错误的可能原因是什么呢?

对于NRPE来说,这有点像是一条包罗万象的错误消息。检查防火墙规则并确保端口已打开。另外,请尝试禁用SELinux并查看是否允许连接通过。这可能不是SSL问题,只是连接被拒绝的问题

要检查您是否有权访问它,请尝试在地址上使用一个简单的telnet:端口、ping或traceroute来查看阻塞的位置

telnet IP port
ping IP
traceroute -p $port IP
还要在目标服务器上检查nrpe守护进程是否正常工作

netstat -at | grep nrpe

您还需要检查两台服务器上安装的OpenSSL版本,正如我看到的,有时会使用SSL握手进行中断检查

如果将nrpe作为服务运行,请确保客户端的nrpe.cfg中有以下行:

# example 192. IP, yours will probably differ
allowed_hosts=127.0.0.1,192.168.1.100 
但是,如果您在xinetd下运行nrpe,请确保在文件
/etc/xinetd.d/nrpe
中编辑
only_from
指令

不要忘记重新启动xinetd服务:

service xinetd restart

检查您的
/var/sys/system.log
。在我的例子中,我的监控IP被设置为与我在nrpe.cfg文件中设置的不同的内容。不过,我不知道这种变化的原因。

@jgritty是对的。 您应该编辑
nrpe.cfg
nrpe
配置文件以允许主nagios服务器访问:

vim /usr/local/nagios/etc/nrpe.cf
allowed_hosts=127.0.0.1,172.16.16.150


看起来您正在仅主机网络上的虚拟机中运行Nagios服务器。如果是这样,这将停止任何外部访问。确保您有可用的NAT或桥接网络。

确保您已重新启动Nagios客户端插件。

我正在使用xinetd服务运行nrpe

此外,还要确保(除了上述基本步骤之外)您的nagios用户正在正确进行身份验证。就我而言:

Jun  6 15:05:52 gse2 xinetd[33237]: **Unknown user: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=9]
Jun  6 15:05:52 gse2 xinetd[33237]: Error parsing attribute user - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=9]
Jun  6 15:05:52 gse2 xinetd[33237]: **Unknown group: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=10]
Jun  6 15:05:52 gse2 xinetd[33237]: Error parsing attribute group - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=10]
Jun  6 15:05:52 gse2 xinetd[33237]: Service nrpe missing attribute user - DISABLING
Jun 6 15:05:52 gse2 xinetd[33237]:**未知用户:nagios**
[file=/etc/xinetd.d/nrpe][line=9] Jun 6 15:05:52 gse2 xinetd[33237]:分析属性用户时出错-正在禁用 服务[file=/etc/xinetd.d/nrpe][line=9] 6月6日15:05:52 gse2 xinetd[33237]:**未知组:nagios**
[file=/etc/xinetd.d/nrpe][line=10] Jun 6 15:05:52 gse2 xinetd[33237]:分析属性组时出错-正在禁用 服务[file=/etc/xinetd.d/nrpe][line=10] Jun 6 15:05:52 gse2 xinetd[33237]:服务nrpe缺少属性用户-禁用
显示在/var/log消息中。
起初我没想到,但后来我检查了ypbind服务,发现它没有启动。

启动ypbind后,nagios用户和组正确地进行了身份验证,错误消失。

一些边缘案例重新启动
nagios nrpe服务器
没有帮助,因为进程未被终止或未正确重新启动


然后手动杀死它,然后启动。

SSL握手错误消息。在应该分配的allow\u主机旁边

您的nagios服务器位于具有C类型ip地址(如192.168.xxxx)的本地lan中

当目标监控服务器将ssl消息反馈给本地nagios服务器时,消息应首先到达您线路的公共IP,消息不能通过公共IP进入您的nagios服务器,该IP是内部IP

您需要NAT将SSL消息从目标服务器引导到内部nagios服务器

或者您最好使用“GET”方法,只从nagios客户端获取监控消息,例如SNMP,来实现对linux服务器本地资源的远程监控

SSL需要双向反馈


向我致以最诚挚的问候,在客户机上的/etc/nagios/nrpe.cfg中设置以下内容是有效的:

dont_blame_nrpe=1
这是一台Ubuntu16.04机器。
对于其他可能的问题,我建议查看nrpe日志。这是一篇关于配置日志的好文章

如果您运行的是Debian 9,那么这个问题是由OpenSSL放弃对NRPE用于启动匿名SSL连接的方法的支持引起的

这是一个问题,但修复方案还没有进入官方程序包


目前似乎没有安全的解决办法。

检查/etc/xinetd.d/nrpe中的配置并验证服务器IP。如果仅显示_from=127.0.0.1,请使用服务器IP更改它

这么多答案,没有一个能找到我遇到这个问题的原因

原来nagios的跨版本支持非常糟糕,这是因为我有一个版本2的“客户端”(被监控的机器)和一个版本3的“服务器”(监控机器)

一旦我将客户端升级到版本3,问题就消失了,我可以做一个
检查\u nrpe-H[client IP]
,没有问题


请注意,我不确定客户机/服务器是否与nagios是正确的术语,就像在NRPE调用的情况下一样,服务器实际上就是被调用的机器,但我离题了。

您确定没有使用公共ip访问Amazon服务器吗?至于亚马逊服务器在云端,我想你应该通过互联网来查询它。您应该尝试在“允许的主机”列表中添加您的公共ip地址。我已将我的计算机的公共ip地址添加到“允许的主机”类别中。但错误依然存在。Nagios服务器在我的本地IP地址(172.*.*.*)上运行,而不是在公共IP地址(121.*.*.*)上运行(很抱歉,如果说这没有意义,我对所有这些都是新手)。i、 e.这是有效的------>172.*.*.*/nagios,但不是这个------>121.*.*.*.*/nagios还有一点:当我从我的亚马逊系统运行命令“check_nrpe-H(我的亚马逊公共IP)”时,它仍然显示相同的错误消息。在受监控的机器上编辑nrpe.cfg。添加监控nagios/nrpe服务
dont_blame_nrpe=1