En algunes ocasions podem trobar-nos amb la necessitat de monitorar equips Linux, però que a causa de la seva criticitat decidim no instal·lar l'agent. Per a aquests casos existeix una alternativa: monitoratge per SSH.

Es tracta que el servidor de monitoratge es connecti al servidor a monitorar mitjançant un comando SSH, i disposem d'un plugin anomenat check_by_ssh que ens permet precisament aquesta funció.

Per a poder utilitzar el check_by_ssh és important que tinguem accés directe al servidor de destí sense necessitat d'entrar usuari i contrasenya en una sessió SSH, i per a això utilitzarem certificats.

Coses a tenir en compte:

- El servidor d'origen ha de disposar d'una clau pública que ha d'estar en el servidor a monitorar.

- El servidor a monitorar ha de permetre l'accés sense contrasenya i amb certificat.

- La connexió del servidor de monitoratge al servidor a monitorar ha de realitzar-se amb l'usuari que executa l'aplicació de monitoratge, en aquest cas l'usuari és “Nagios”. Aquest usuari ha de tenir a més suficients privilegis en el servidor de destí per a executar els plugins.

- Existeixen certificats RSA i DSA. Per a aquest procés és recomanable RSA (no ens estendrem aquesta vegada a analitzar avantatges i inconvenients de tots dos).

Vista tota aquesta casuística, anem doncs a realitzar tots els passos:

1. En el servidor a monitorar creem l'usuari “Nagios”, el posem dins del grup root i li creem la ubicació corresponent:

useradd nagios -G 0 -d /home/nagios

2. En el servidor de destí editem el fitxer de configuració de SSH per a poder accedir de manera remota:

vi /etc/ssh/sshd_config

Cal tenir en compte aquestes opcions, cal revisar que no estiguin comentades ni amb l'opció “no”:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

3. Creem la carpeta per a deixar posteriorment el certificat:

mkdir /home/monitor/.ssh

4. Creem el fitxer que contindrà els certificats públics dels equips que accediran de manera remota:

touch /home/nagios/.ssh/authorized_keys

5. Per a finalitzar en el servidor a monitorar només cal reiniciar el servei SSH:

service sshd restart

6. En el servidor de monitoratge accedim a l'usuari “Nagios”:

su - nagios

7. Generem un certificat RSA (el deixem en la ubicació que ens doni per defecte i quan ens demani frase de seguretat la deixem en blanc):

ssh-keygen –t rsa

8. Editem el fitxer amb la clau pública, recollim tot el seu contingut i el copiem en el fitxer authorized_keys del servidor al qual volem accedir, en aquest cas: authorized_keys

Ja podem realitzar una prova des de la consola:

ssh nagios@IP_SERVIDOR_DESTINO

I aquí un exemplo de l'ús del plugin:

-bash-4.1$ ./check_by_ssh -H 192.168.1.48 -C uptime

16:29:40 up 3:34, 1 user, load average: 0.00, 0.00, 0.00