Home > CentOS, Debian, FreeBSD, Ubuntu > NRPE – Could not complete SSL handshake.

NRPE – Could not complete SSL handshake.

NRPE – Could not complete SSL handshake – проблема связанна с тем, что сервер и клиент говорят на разных языках, и один из них требует шифрование, а другой – обычную передачу данных. Как у и всего в свободном ПО – есть масса решений, я приведу несколько:

Примем для себя базовые настройки с обязательным шифрованием данных между Сервером NRPE и клиентом NRPE.
1. Серверная сторона. Устанавливаем и компилируем Nagios NRPE2 с поддержкой SSL
FreeBSD:
# cd /usr/ports/net-mgmt/nrpe2/ ; make config
[X] SSL Enable SSL support (disables plain-text server)
# make install clean

Linux:
# apt-get install nagios-nrpe-server – шифрование SSL включено по умолчанию.

2. Клиентская сторона Устанавливаем и компилируем Nagios NRPE2 с поддержкой SSL

FreeBSD:
# cd /usr/ports/net-mgmt/nrpe2/ ; make config
[X] SSL Enable SSL support (disables plain-text server)
# make install clean

Linux:
# apt-get install nagios-nrpe-plugin – шифрование SSL включено по умолчанию.

И все работает 🙂

Варианты возникновения ошибок NRPE – Could not complete SSL handshake.

1. Сервер скомпилирован с SSL, клиент – без SSL

Запускать проверку клиента с параметром -n

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -n
}

(-n option will turn off the encryption per SSL over NRPE between the server and the client)

2. Клиент скомпилирован с SSL, сервер – без SSL

a) Перекомпилировать клиента без поддержки SSL 🙂
FreeBSD:

# cd /usr/ports/net-mgmt/nrpe2/ ; make config
[ ] SSL Enable SSL support (disables plain-text server)

Linux:
Из исходных кодов с параметром –no-ssl

b) Запустить сервис службой XinitD

Создать файл /etc/xinetd.d/nrpe

service nrpe
{
flags = REUSE
socket_type = stream
wait = no
user = nrpe
server = /usr/sbin/nrpe
server_args = -c /etc/nagios/nrpe.cfg –inetd –no-ssl
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 192.168.10.10
}

где 192.168.10.10 – ИП Сервера Nagios NRPE
Обращаем внимание на параметр –no-ssl – именно он отключает SSL на стороне клиента.

#/etc/init.d/xinetd reload

с) Редактируем скрипт автозапуска /etc/init.d/nrpe – подходит для Linux систем:

start() {
echo -n $”Starting $desc ($prog): ”
daemon $prog -c “$CONFIG” -d -n

Добавляем -n к запускаемому демону, отключая шифрование SSL на стороне клиента.

  1. December 24th, 2015 at 23:56 | #1

    Hey, that’s poerufwl. Thanks for the news.

  1. No trackbacks yet.