web-dev-qa-db-ja.com

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 '^]'.

Webを2時間検索し、さまざまな提案を試した後、私はアイデアがありません。同様の設定のホストが他にもいくつかありますが、この問題は発生していません。私は設定を比較しました、そしてそれらは同じように見えます(私は思います)。

私は明らかにここで何かが欠けています。

1
phs

WindowsにインストールされているOpenSSHサーバー(KpyM Telnet/SSHサーバー)をチェックするのと同じ問題があり、NagiosLinuxサーバーからcheck_sshを使用してポートをチェックしています。

「_check_ssh_」を使用すると、ポート22の「_check_tcp_」を使用して「サーバーの回答」という回答が得られました:_SSH OK_

Windows上のSSHサーバーのログでは、nagiosサーバーのIPは禁止されたIPに含まれていました。

禁止されているIPのIPを削除しましたが、check_sshは問題ありません:

_check_ssh_の答えは次のとおりです:SSH OK - cryptlib (protocol 2.0)

多分それは役立ちます。おそらく同じソフトウェアではありませんが、おそらく同じ動作です。

1
Phil P.

Nagiosサーバーとチェックしようとしているサーバーの間にパスワードなしのSSHを設定しましたか?

パスワードでプロンプトを出すことはできないため、これを設定する必要があります。これを確認するには、nagiosサーバーに接続し、nagiosユーザーとして確認しようとしているサーバーにSSHで接続して、パスワードの入力を求められるかどうかを確認します。

また、telnetはsshではなく、まったく異なるプロトコルです。

0
boburob