Slt all,
Je voulais faire un scprit pour executer d’autres scripts sur une autre machines … je suis sur un PI4 avec l’image jeedom … j’ai donc fait un échange de clef ssh entre mes 2 machines (jeedom et autre serveur) pour bypasser le passage du mdp … tout fonctionne bien si j’execute manuellement … mais lorsque je passe par le plugin script cela ne fonctionne plus car le script est executé par www-data … comment gérez vous cette problématique ?
@chris94440
Sur le market tu trouvera Monitoring (monitoring2)
qui correspond a ton besoins
Merci @olive je vais regarder
Je vois pas comment executer d autres scripts avec ce plugin… je vais jouer avec le fichier des sudoers je pense
creer un équipement su ip de la machine en question
puis creer des commandes bash sur la machine en question
Lol pardon c est monitoring2 … j ai le 1 d installe j ai pas fait attention …merci … je me.replanche dessus alors
Oui le 2 n’a rien a voir avec le 1
edit
c’est ton code postal 94440 si oui on est pas loin
Yes c est bien mon cp … je suis de villecresnes… tu es d ou ??
tu traverse la foret par l’étoile je suis de l’autre coté
Excellent!!!
A l occase faudra se faire une ptite rencontre
ça marche
Tu trouveras dans /var/www/html/core/repos/samba.repo.php
un exemple de commande lancée via un sudo
pour avoir les droits root
Bon je déterre mon sujet … je m’y étais pas remis avant …
Je suis passé par une solution plus simple pour moi … … échanges de clef privé / public entre le user www-data et le serveur distant … puis execution des scripts via scénario …
- se connecter en ssh sur le jeedom et passer en root (sudo -i) … taper le mdp root
- se placer en tant que www-data : su -l www-data -s /bin/bash
- générer les clefs ssh … ssh-keygen
- échanger les clef avec le serveur distant : cat .ssh/id_rsa.pub | ssh -p portServerDistant user@ipServerDistant ‹ cat > .ssh/authorized_keys ›
Le mdp du compte user du serveur distant vous ait demandé …
A partir de ce moment là on peut se connecter en ssh au serveur distant sans mdp.
Y a plus qu’a faire des scripts shell …
Exemple de script :
#/bin/bash
RESPONSE="";
RESPONSE=$(ssh -p portServerDistant user@ipServerDistant 'cd /home/christophe/script; find . -type f -iname lock.txt;');
echo $RESPONSE;
Exemple d’utilisation dans un scénarion
shell_exec('cd /pathDuScript/; ./scriptName.sh');
Voili voilou … si ça peut en aider certains … c’est très succins comme explication… hésitez pas si vous avez besoin de plus de détails pour compréhension ou autre…
@chris94440
Update : les droits de base affecté à la clef id_rsa sont trop permissif (775) il faut lui appliquer les droit 600 (chmod 600 /var/www/.ssh/id_rsa)
Suite à une excellent remarque de @naboleo … prositionner un clef privée dans la racine d’un site est une très mauvaise pratique … du coup il faut lors de la génération de la clef préciser un autre emplacement (ex : ssh-keygen -f /home/www-data/.ssh/id_rsa) et lors de l’appel ssh faire référence à cette identité (ex : ssh -v -p $port $user@$server -i /home/www-data/.ssh/id_rsa)
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.