Comment eteindre les machines d'1 réseau

tacamatnumidia Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
 mariusb -
Bonjour

j'aimerais vous faire part de mon problème,
je veux eteindre les machines de mon réseau local a partir d'une seule machine appartenant à ce même réseau, sachant que le système déployé est linux ubuntu 7.10,
on ma donné indication d'utiliser un script mais je ne sais pas comment le faire car je suis une veritable nullarde en informatique.
je vous remercie d'avance.

9 réponses

zarakoff Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   5
 
Salut,

N'étant pas un pro des scripts, je vais seulement te donner une idée.
On suppose que pour chaque machine administrée, tu crées un user (appelons le ltoto) avec comme mot de passe titi.
L'idée serait de créer un script (dans .profile ??) qui se déclencherait au login.
Dans ce script, tu aurais sudo shutdown
Il te resterait à passer en paramètre le password de toto pour déclencher l'action.
ça vaut ce que ça vaut.
Tiens nous au courant.

A+
zarakoff
0
tacamatnumidia Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   3
 
bonjour,
merci de m'avoire repondus, mais je ne sais pas comment créer un script, aider moi svp.
0
trallala Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
un telnet sur la machine distante et envoyer la commande HALT


ca marche aussi avec VNC, ouvrir une fenêtre terminal , puis la commande HALT
0
tacamatnumidia
 
bonjour tallala, merci de m'avoir répondu, mais qu'est ce qu'un telnet et qu'est ce qu'un vnc, et la commande halt va eteindre just la machine sur laquelle est executée et je ne sais pas si elle peut etindre les autres machines
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
lance un shutdown dans 1 minute sur toutes les machines de la liste

#!/bin/ksh

if [ "$1" != "securite" ] ; then exit ; fi

for MACH in Liste_de_machines ; do
	rsh $MACH 'echo "shutdown -h +1" | at now '
done
0
nassou
 
tien deja tu tassure que tu a les droit, aprés tu telecharge ssh avec apt-get install ssh quand sa a telecharger tu fais ssh le nom de la personne conecter du te pc @l'ip et aprés pour léteindre du ecrit halt.(un exemple en disant que la personne et connecter sous visiter sa donne sa: ssh visiteur@lip) je ne sais ps si c'est claire pour toi. mai commance par telecharger ssh sur les 2 pc
0
tacamatnumidia Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci infiniment pour votre aide Mr nassou mais je le voudrais le realiser dans un script shell, cad que je collecte l'ensemble des adresses ip de toutes les machines du reseau et par un sript les eteindre toutes à la fois.
merci;
revenons a votre idee
, je viens d'installer le ssh sur deux pcs de mon reseau juste pour le test; puis je suis passé à ecrir votre commande, donc je suis rentré au shell (console oubien terminal ) en mode root et j'ai ecris ssh hostname de la machine desirée pour etre eteinte@son adresse ip puis entrer, mais il me demande le mot de passe, donc j'ai ecrit le mot de passe root de la machine desirée pour etre eteinte mais a chaque fois il me dit que le mot de passe est erronné donc de quel mot de passe il s'agit.
merci.
0
tlep Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   118
 
Pour éviter d'avoir à taper le mot de passe, tu peux utiliser un échange de clés ssh :

1/ Crée une clé ssh sur la machine cliente avec le compte du user qui devra éteindre la machine :
ssh-keygen -t rsa
Ne met pas de passphrase.

2/ Sur ton serveur, fait la même chose.

3/ Sur le client, dans le compte de ton user avec lequel tu as créé la clé, crée un fichier /home/ton_user/.ssh/authorized_keys.
Dans ce fichier, tu copies la clé publique de ton serveur, qui se trouve dans /home/ton_user/.ssh/id_rsa.pub

A partir de là, tu peux de connecter de ton serveur à ton client sans mot de passe.

Ensuite, il suffit d'exécuter depuis le serveur:
ssh ton_user@ip_client "shutdown -h now"

Et voila.
0
mariusb
 
Ceci devrait marcher :

#!/usr/bin/expect -f
set timeout 60
spawn ssh user@192.168.1.236
expect "password: $"
send "tonPassword\n"
expect "~"
send "sudo shutdown -h now\n"
expect "password"
send "tonPassword\n"
send "quit\n"
interact

Tu auras besoin de la librairie expect, mais sur un PC ubuntu, il est facile de l'installer...

Pour éteindre les PC à la volée, tu devras très certainement faire un autre script capable de démarrer/arrêter celui que je viens de te donner, ou alors modifier mon script (si quelqu'un a une bonne idée...).
En effet : ce script s'arrêtera sûrement avant le "send quit", puisque le PC-cible sera éteint, et ton PC sera toujours connecté par SSH.

Enfin, pour éteindre un seul PC, ça marche nikel. Il suffit de fermer le terminal à la main après l'opération.
0