从 Nagios 服务器执行的 check_ssh 返回“服务器答案:”,没有其他内容

从 Nagios 服务器执行的 check_ssh 返回“服务器答案:”,没有其他内容

命令在我需要监控的主机上运行(其 IP 在这里表示为 $HOSTADDRESS$):

[root@host ~]# /usr/local/nagios/libexec/check_ssh localhost
SSH OK - OpenSSH_4.3 (protocol 2.0)

然而,在 Nagios 服务器上,它不会:

root@server:~# /usr/lib/nagios/plugins/check_ssh -H $HOSTADDRESS$
Server answer: 

我可以看到端口是开放的:

root@server:~# /usr/lib/nagios/plugins/check_tcp -H $HOSTADDRESS$ -p 22
TCP OK - 0.123 second response time on port 22|time=0.123277s;;;0.000000;10.000000

我可以通过 telnet 进行验证:

root@server:/etc/nagios3/conf.d# telnet $HOSTADDRESS$ 22
Trying $HOSTADDRESS$...
Connected to $HOSTADDRESS$.
Escape character is '^]'.

在网上搜索了两个小时并尝试了不同的建议后,我还是没有主意。我还有其他几家主机具有类似的设置,但它们没有这个问题。我比较了配置,它们看起来一样(我认为)。

我显然在这里遗漏了一些东西。

答案1

我在检查安装在 Windows 上的 OpenSSH 服务器(KpyM Telnet/SSH 服务器)时遇到了同样的问题,并且我正在使用 Nagios Linux 服务器上的 check_ssh 检查端口。

使用“ ”,我在端口 22 上check_ssh通过“ ”获得了答案“服务器答案” :check_tcpSSH OK

在Windows上的SSH服务器的日志中,nagios服务器的IP在被禁止的IP之中。

我删除了被禁止的 IP 中的 IP,现在 check_ssh 可以正常使用了:

check_ssh答案是:SSH OK - cryptlib (protocol 2.0)

也许有帮助。可能不是同一款软件,但行为可能相同。

答案2

您是否已经在 Nagios 服务器和您尝试检查的服务器之间设置了无密码 SSH?

需要进行设置,因为无法提示输入密码。您可以通过连接到 nagios 服务器并尝试以 nagios 用户身份通过​​ SSH 连接到您要检查的服务器来检查这一点,看看它是否提示您输入密码。

而且 telnet 不是 ssh,它是一种完全不同的协议!

相关内容