コマンドは、監視する必要のあるホストで機能します(その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時間検索し、さまざまな提案を試した後、私はアイデアがありません。同様の設定のホストが他にもいくつかありますが、この問題は発生していません。私は設定を比較しました、そしてそれらは同じように見えます(私は思います)。
私は明らかにここで何かが欠けています。
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)
多分それは役立ちます。おそらく同じソフトウェアではありませんが、おそらく同じ動作です。
Nagiosサーバーとチェックしようとしているサーバーの間にパスワードなしのSSHを設定しましたか?
パスワードでプロンプトを出すことはできないため、これを設定する必要があります。これを確認するには、nagiosサーバーに接続し、nagiosユーザーとして確認しようとしているサーバーにSSHで接続して、パスワードの入力を求められるかどうかを確認します。
また、telnetはsshではなく、まったく異なるプロトコルです。