Bonjour,
Voici le problème, j'ai deux centreon, l'un sur le serveur A, l'autre sur le B. Je souhaite redémarrer le service nagios du serveur B (distant) depuis une page php du serveur A (local).
Dans mon code php, à l'aide de la commande passthru je lance un script bash qui se connecte en ssh sur le serveur distant et lance un script présent sur le serveur distant . L'utilisateur que j'utilise pour la connexion ssh ne demande pas de mot de passe, j'ai utilisé une clé DSA pour l'authentification...
Code php :
$cmd="/home/pse/test.sh";
passthru($cmd, $return);
echo $return;
Script sur le serveur local : (/home/pse/test.sh)
#!/bin/bash
ssh -l pse 192.168.51.33 -p 54321 '/home/pse/tes.sh'
Script sur le serveur distant : (/home/pse/tes.sh)
#!/bin/bash
echo 'password'|sudo -S /etc/init.d/nagios restart
Après plusieurs essais, le serveur Nagios ne veut pas redémarrer sur le serveur distant.
La variable de retour $return me renvoie le code 255, apparemment php ne peut pas exécuter le script.
Je ne comprends pas d'où peut venir le problème. Je précise que lorsque je lance le script à la main sur le serveur A, celui s'exécute sans soucis, et le service nagios du serveur B rédemarre comme il le devrait.
Résultat du lancement de test.sh sur la machine A :
~$ ./test.sh
[sudo] password for pse:
Running configuration check...done.
Stopping nagios: ..done.
Starting nagios: done.
Merci de votre aide.