PDA

View Full Version : Spegnere da remoto


peppedx
13-03-2006, 16:07
Ciao a tutti,

vi illustro un problema a cui dovrei dare una soluzione...

Ho un UPS collegato via seriale ad un PC. Quando l'ups è "cotto"esegue uno script sul pc in question, ora io vorrei che questo script spegnesse degli altri pc remoti, come mi suggerite di fare?

(per la cronaca le distribuzioni sono delle red hat based).

Saluti,
Peppe

Duncan
13-03-2006, 17:18
credo che puoi fare un script che si collega via ssh alla macchina remota e da il comando che ti serve

peppedx
13-03-2006, 19:13
Pensavo a qualcosa di simile, solo devo configurare ssh per loggarsi senza richiedere la password...

Duncan
13-03-2006, 21:12
puoi provare con un sistema a chiave publica, mandi l'utente e dovrebbero autenticarsi da soli le macchine

#!/bin/sh
13-03-2006, 21:20
devi usare l'autenticazione di ssh con le chiavi. per generare le chiavi devi usare ssh-keygen in questo modo:

ssh-keygen -b 1024 -t dsa

ti ritrovi con due chiavi in ~/.ssh:

id_dsa
id_dsa.pub

copi id_dsa.pub sul server dove ti vuoi loggare senza password e poi esegui il comando:

cat id_dsa.pub >> ~/.ssh/authorized_keys

In questo modo lui ti chiede la passphrase (che inserisci quando vengono generate le chiavi) quando ti logghi o fai eseguire un comando/script in remoto. se la metti vuota non ti chiede nulla. mettere la passphrase vuota è persicoloso perchè se ti fregano la chiave privata puoi si loggano tutti in remoto. Se sei in una lan il rischio è accettabile.

peppedx
14-03-2006, 11:10
THX very much!

pinok
14-03-2006, 12:49
Il metodo che ti hanno detto è sicuramente valido (forse lo puoi implementare in qualche modo anche con stunnel, evitando l'uso di sistemi basati su console come ssh).

Forse puoi lavorarci anche di fantasia e mettere su qualcosa di diverso, del tipo:

1) il server-ups manda un segnale in chiaro a tutti gli host collegati, su una porta che i client hanno abilitato solo al server
2) i client, a seguito della richiesta, accedono al server ups per leggere il contenuto di una directory (via web, nfs o altro)
3) il server-ups scrive in quella directory un file, anche dimensione zero, con il nome spegnetevi.ora ;)
4-a) se i client, allertati dal server, trovano quel file, iniziano lo spegnimento
4-b) se i client non lo trovano, è un falso (??) allarme e non fanno niente
5) il server ups, nel caso rinunci all'ultimo allo shutdown, cancella il file in questione o comunque lo cancella al riavvio

Questo ti evita l'uso delle chiavi e i problemi di autorizzazione, in quanto di fatto sono i client a decidere lo shutdown su invito del server e non hai il problema di aprire ssh.