Création automatique
de la clé SSH de l'utilisateur shinkenlors de l'installation
Lors de l'installation de Shinken Enterprise sur un serveur Linux, l'installation créé automatiquement une clé SSH pour l'utilisateur shinken.
Chemin clé privée | /var/lib/shinken/.ssh/id_rsa |
Chemin clé publique | /var/lib/shinken/.ssh/id_rsa.pub |
Chiffrement | RSA |
Taille de la clé | 2048 |
C'est cette clé qui sera utilisée par défaut pour les connexions suivantes:
- les checks linux basés sur SSH.
- la sécurisation des connexions mongo des différents démons et modules.
Connexion distante, et déploiement des clés SSH pour se connecter
Principe des connexions SSH
Les connexions SSH se basent sur l'utilisation de clés: un utilisateur local ( qui sera dans notre cas de l'utilisateur shinken ) utilise sa clé privée pour se connecter à un serveur distant avec un compte distant, qui a authorisé autorisé la clé publique de notre utilisateur shinken.
Dans le cas d'une connexion vers un serveur démon ou module Shinken, il faudra utiliser comme utilisateur distant celui qui est créé par défaut: shinken
Autoriser la clé d'un utilisateur à se connecter
Autorisation de la clé
Pour autoriser une clé d'un utilisateur shinken vers un serveur distant, il faut se connecter sur le serveur source en tant que l'utilisateur "shinken" et copier la clé SSH vers le serveur distant ( utilisons ServerDistantIP pour symbolisé son adresse de connexion ):
| Code Block | ||
|---|---|---|
| ||
[root@shinken-server ~]# su - shinken [shinken@shinken-poller ~]# ssh-copy-id distant ServerDistantIP The authenticity of host '192.168.1.19 (192.168.1.19)' can't be established. RSA key fingerprint is 00:ff:ee:dd:cc:bb:aa:d6:d3:79:1d:f6:93:47:80:27. Are you sure you want to continue connecting (yes/no)? yes shinken@remote_host's password: XXXXXXXXXXX Now try logging into the machine, with "ssh '192.168.1.19'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. ssh shinken@distant -i .ssh/id_rsa |
Ceci aura pour effet de copier le contenu de la clé publique /var/lib/shinken/.ssh/id_rsa.pub dans le fichier ~/.ssh/authorized_keys de l'utilisateur du serveur distant.
Test de connexion
Pour tester le bon déploiement de la clé SSH, il faut lancer depuis le serveur source:
| Code Block |
|---|
[root@shinken ~]# su - shinken [shinken@shinken ~]# ssh shinken@distantshinken@ServerDistantIP -i /var/lib/shinken/.ssh/id_rsa |
La connexion doit s'établir avec succès.
Cas de SSH pour la connexion entre Graphite et la base MongoDB ( pour utilisation de l'outil Grafana )
Dans le cas où on utilise l'outil Grafana, Graphite va avoir besoin de se connecter à la base MongoDB.
- Il est conseillé de protéger la connexion dans un tunnel SSH. Graphite étant hébergé par le service apache, il n'a donc pas accès au répertoire /var/lib/shiken et donc pas accès à la clé SSH /var/lib/shinken/.ssh/id_rsa.
- Pour plus de détail sur la connexion de Grafana avec Shinken, allez voir la page Grafana.
Vu dans la configuration de graphite sur cette connexion sur la page LA PAGE, il faut copier la clé de l'utilisateur shinken vers un répertoire accessible à graphite:
| Code Block | ||
|---|---|---|
| ||
cp /var/lib/shinken/.ssh/id_rsa /opt/graphite/conf/id_rsa chown apache:apache /opt/graphite/conf/id_rsa |
| Warning |
|---|
| Attention: un lien symbolique entre les deux fichiers ne fonctionnera pas, car apache n'a pas les droits d'aller lire le fichier originel. |