2013-12-11 114 views
8

我在本地機器上的amazon ec2實例和nagios服務器上的xinetd下運行NRPE守護進程。CHECK_NRPE:錯誤 - 無法完成SSL握手

check_nrpe -H [amazon public 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地址。

現在這個錯誤可能是什麼原因?

+2

您確定沒有使用公共IP訪問亞馬遜服務器嗎?就亞馬遜服務器在雲端而言,我認爲你需要通過互聯網來查詢它。您應該嘗試在「允許的主機」列表中添加您的公共IP地址 – user2196728

+0

我已將「我的機器」的公共IP地址添加到「允許的主機」類別中。但錯誤依然存在。 Nagios服務器在我的本地IP地址(172。*。*。*)上運行,而不是在公共IP地址(121。*。*。*)上運行(抱歉,如果說這是沒有意義的,我是新手這個)。即 這個工作-----> 172。*。*。*/nagios 但不是這個---> 121。*。*。*/nagios –

+0

還有一點:當我從我的亞馬遜系統運行命令「check_nrpe -H(我的亞馬遜公共IP)」時,它仍顯示相同的錯誤消息。 –

回答

1

要檢查您是否有權訪問它,請嘗試在address:port上使用簡單的telnet,然後使用ping或traceroute查看它阻止的位置。

telnet IP port 
ping IP 
traceroute -p $port IP 

同時檢查目標服務器上的nrpe守護程序是否正常工作。

netstat -at | grep nrpe 

您還需要檢查安裝在兩臺服務器上的OpenSSL版本,因爲我看到的場合此休息檢查與SSL握手!

1

這對NRPE來說有點全面的錯誤信息。檢查您的防火牆規則並確保端口處於打開狀態。同時嘗試禁用SELinux並查看是否允許連接。這可能不是一個SSL問題,但只是連接被拒絕的問題。

11

如果你是作爲一個服務運行NRPE,請確保您有這條線在你的nrpe.cfg在客戶端:

# example 192. IP, yours will probably differ 
allowed_hosts=127.0.0.1,192.168.1.100 

你說但是做到這一點,如果你是下運行NRPE xinetd,請務必編輯文件/etc/xinetd.d/nrpe中的only_from指令。

不要忘了重新啓動xinetd服務:

service xinetd restart 
+0

https://geekpeek.net/could-not-complete-ssl-handshake/ – raittes

1

檢查/var/sys/system.log。就我而言,事實證明,我的受監視的IP被設置爲不同於我在nrpe.cfg文件中設置的IP。不過,我不知道這個變化的原因。

1

@jgritty是對的。 你應該修改nrpe.cfgnrpe配置文件,讓你的主人的Nagios服務器的訪問:

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

vim /etc/xinetd.d/nrpe 
only_from= 127.0.0.1 172.16.16.150 
+0

在受監視的計算機上編輯nrpe.cfg。在'allowed_hosts'行添加監控nagios/nrpe服務器的IP。如果您使用虛擬機,您必須添加運行虛擬機的主機。 – deepdive

1

看起來你是在一個專用主​​機上運行Nagios服務器在虛擬機網絡。如果是這樣,這將停止任何外部訪問。確保您有可用的NAT或橋接網絡。

0

確保您已重新啓動Nagios客戶端插件。

0

我使用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 

顯示在/ var/log消息中。
它首先逃脫了我,但後來我檢查了ypbind服務,發現它沒有啓動。
啓動ypbind後,nagios用戶和組進行了適當的身份驗證,錯誤消失了。

0

某些邊緣案例重新啓動nagios-nrpe-server沒有幫助,因爲進程未被殺死或者未正確重新啓動。

然後手動殺死它,然後啓動。

0

SSL握手錯誤消息。除了應分配的allow_host外。

Nagios服務器是在本地局域網C類IP地址如192.168.xxxx

當目標監控服務器反饋SSL味精到本地服務器Nagios的,消息應首先涉及到你的公網IP的信息不能通過公共IP進入你的nagios服務器,而ip是一個內部服務器。

您需要NAT來指導從目標服務器到內部nagios服務器的SSL消息。

或者您最好使用「GET」方法,從nagios客戶端獲取監控信息,比如SNMP,以完成對linux服務器本地資源的遠程監控。

SSL需要雙向反饋。

問候

0

對我來說,設定/etc/nagios/nrpe.cfg以下的客戶一起:

dont_blame_nrpe=1 

它和Ubuntu 16.04的機器。 對於其他可能的問題,我建議查看nrpe日誌。這裏是配置日誌的好文章。

0

如果您正在運行Debian 9,則存在a known issue關於此問題的原因,由OpenSSL丟棄對NRPE用於啓動匿名SSL連接的方法的支持。

問題seems to be fixed但該修復程序尚未將其納入官方軟件包中。

目前似乎沒有安全的解決方法。