0

所有关于此错误的问题都显示人们正在运行check_nrpe -H [some_remote_ip],与在 localhost 上无错误运行形成对比。

但是,我什至无法让它在 localhost 上运行:

$> ./check_nrpe -H localhost
CHECK_NRPE: Error - Could not complete SSL handshake.

该服务似乎已启动并正在运行:

$> sudo netstat -apn | grep :5666
tcp        0      0 0.0.0.0:5666            0.0.0.0:*        LISTEN      5847/nrpe
tcp6       0      0 :::5666                 :::*             LISTEN      10216/nrpe

并且守护进程没有返回错误

$> sudo service nagios-nrpe-server status
* nagios-nrpe is running

我的nrpe.cfg文件已allowed_hosts正确设置:

allowed_hosts=127.0.0.1,10.0.1.2,0.0.0.0

/var/log/syslog打开调试的内容:

Nov  1 22:54:44 <MYHOST> nrpe[11156]: Connection from ::1 port 6601
Nov  1 22:54:44 <MYHOST> nrpe[11156]: Host ::1 is not allowed to talk to us!
Nov  1 22:54:44 <MYHOST> nrpe[11156]: Connection from ::1 closed.

有谁知道发生了什么,这似乎几乎是荒谬的。谢谢!

4

3 回答 3

1

请注意,我的示例可能与您的示例不同。

首先更改到包含您的 nrpe 命令的文件夹并运行:

./nrpe --version

该命令的输出将如下所示:

NRPE - Nagios Remote Plugin Executor
Copyright (c) 1999-2008 Ethan Galstad (nagios@nagios.org)
Version: nrpe-3.0
Last Modified: 07-12-2016
License: GPL v2 with exemptions (-l for more info)
SSL/TLS Available, OpenSSL 0.9.6 or higher required

请注意,最后一行告诉您此 NRPE 版本确实支持 SSL。如果它不存在,那么您将必须安装一个使用 SSL 支持编译的版本(这可能意味着自己编译一个,取决于您从哪里获得它)。源代码的文档非常清楚地说明了这是如何完成的。

如果您确实有上面的 SSL 行,请查看该行上所需的版本并检查您的系统以确保至少已安装该版本。我使用了这个命令:

rpm -qa | grep openssl

并收到如下所示的输出:

libopenssl1_0_0-32bit-1.0.1k-2.39.1.x86_64
openssl-1.0.1k-2.39.1.x86_64

NRPE SSL 支持需要 openssl 和 libopenssl 才能正常运行。我强烈建议如果没有安装这些,使用您的系统包安装程序(aptget、yum、zypper、...)来获取和安装它们。如果这些已经安装,但您仍然有错误,那么您可能会遇到以下配置问题:

/etc/ssl/openssl.cnf

修复这远远超出了此处可用的范围/空间。我建议通过一个工作的在线包升级这两个包——这些包总是包含一个默认配置,它应该可以与 NRPE 一起工作——假设版本等于或高于所需的版本。

于 2016-11-03T21:10:26.720 回答
0

我不确定它是否仍然相关,但我遇到了同样的问题,发现有人更改了/etc/hosts.allow文件,阻止了访问。不知何故,这会导致以下错误:

Client: Connection refused by TCP wrapper
Server: Error: (nerrs = 0)(!log_opts) Could not complete SSL handshake with <Client IP> : rc=-1 SSL-error=5

更改/etc/hosts.allow文件解决了这个问题。

于 2018-05-16T09:28:06.333 回答
0

我认为 check_nrpe 正在尝试使用 IPv6。

IPv6 localhost ip 是::1,因此将其添加到您的allowed_hosts=行中_nrpe.cfg_并重新启动 nrpe 将为您勾选此框。

或者,正如另一个响应者回复的那样,您可以添加-4到您的check_nrpe命令中以强制它坚持使用 IPv4。

我遇到了同样的问题,只有当我看到::1问题中的问题时,我才明白发生了什么。

于 2017-06-23T16:45:31.693 回答