Bonjour,
mon objectif : vérifier les processus qui tournent sur un certain nombre de machines.
J'ai commencé par installer les clés ssh sur les différentes machines pour ne pas avoir à taper le mot de passe à chaque fois mais l'informatique étant un truc de fainéant je ne peux pas me satisfaire de taper pour chaque machine :
ssh machine.fr
top -bn1 |head -15
exit
Le problème c'est que dans un script, ssh me redonne la main et n'exécute pas top et exit automatiquement sur la machine distante.
Ma question : comment je fais pour mettre ces 3 lignes de commandes (ou un équivalent) dans un script ? Autrement dit, comment exécuter "top" sur une machine à distance et en récupérer le résultat ?
Merci !
# lancer et recupérer le résultat d'une commande à distance
Posté par Vincent ZOONEKYND . Évalué à 5.
ssh machine.fr top -bn1 | head -15
(ici, seule la commande top sera lancee sur la machine distance, head sera lance en local.)
[^] # Re: lancer et recupérer le résultat d'une commande à distance
Posté par Jazz . Évalué à 3.
ssh machine.fr 'top -bn1 | head -15'
comme ça head aussi sera exécuté sur la machine distante.
# Solution de monitoring
Posté par Christophe Suire . Évalué à 2.
Si c'est pour faire une solution de monitoring, utilise Nagios et le plugin NRPE qui te permet de faire de l'execution de commande distante .. et bien sur d'en récupérer le résultat.
[^] # Re: Solution de monitoring
Posté par alexissoft . Évalué à 3.
ça évite de se faire chier avec les cgi qui disent que nagios n'est pas lancé et de chercher pendant 3h54s43ms en pleurant des moules humidifiées
[^] # Re: Solution de monitoring
Posté par fred point . Évalué à 2.
Sinon le premier commentaire me semble le plus réaliste :)
[^] # Re: Solution de monitoring
Posté par netchaiev . Évalué à 2.
Maintenant -> ssh / rsh
Utilises rsh (un petit man t'aideras pour les options) mais dans le cas de la surveillance de process SNMP est le plus adéquat ...
[^] # Re: Solution de monitoring
Posté par PLuG . Évalué à 3.
rsh est vieux comme le monde, n'est pas chiffré, ni authentifié par clef ...
rsh n'a RIEN a voir avec ssh.
bref ne fait pas ce qui est ecrit ci-dessus, utilise ssh qui permet la meme chose que rsh mais avec plus de sécurité !!!!
sinon SNMP c'est pas mal ... mais attention aussi, ne pas s'arreter au protocole SNMP v2 parce que l'udp non authentifié (ou si peu: mot de passe en clair ...) ça va pas vers l'amélioration !!!
un dernier conseil:
le premier commentaire la haut, dit qu'en passant les commandes sur la meme ligne que "ssh ..." cela marchera et c'est vrai. mais en général, si tu te lance dans cette manip, tu va creer une clef ssh applicative utilisée par ton script, et cette clef n'aura pas de passphrase (sinon il ne pourra plus tourner tout seul ...).
du coup cette clef sans passphrase permer de compromettre les machines une par une en rebondissant.
la méthode pour empecher cela c'est d'associer la clef a un scipt sur le serveur:
detail de la méthode:
tu cree un user "monitoring" et une clef ssh sans passphrase pour ce user.
sur chaque serveur a monitorer, tu cree un script /bin/monitor.sh qui effectue les actions. puis tu associe la clef publique du user "monitoring" a cette action en mettant cela dans le authorized_keys:
command="/bin/monitor.sh" rsa ..... (la clef publique).
du coup, certes la clef du user monitoring est sans passphrase, mais elle ne peut QUE servir a lancer ce script (et non pas n'importe quelle commande).
bien sur il reste a ecrire le script /bin/monitor.sh correctement (recuperer les CTRL-C ...) afin d'assurer encore un peu mieux la sécurité du tout.
[^] # Re: Solution de monitoring
Posté par netchaiev . Évalué à 1.
Promis je ne recommencerais plus ...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.