ubuntuusers.de

Python Skript: Ubuntu Remote Shutdown

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

tischbein

Avatar von tischbein

Anmeldungsdatum:
21. Juli 2008

Beiträge: Zähle...

Masternoob schrieb:

snafu1 schrieb:

Ich brauche hier für meinen Rechner bei shutdown Rootrechte und du höchstwahrscheinlich auch. Wie man das per ssh regelt, kann ich aber nicht beantworten.

jo brauch ich auch 😉

müsste das passwort im befehl irgendwie mit einbinden =/

sshpass

Masternoob

(Themenstarter)

Anmeldungsdatum:
11. August 2008

Beiträge: 46

import os

os.system('echo shutdown -h now | sshpass -p passwort masternoob@10.0.0.7')

funktioniert leider auch nicht =/

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

sshpass ist auch ein ausgesprochen dreckiger Hack. Generiere Dir einen ssh-Schlüssel mit ssh-keygen und kopiere dessen öffentliche Hälfte mit ssh-copy-id auf den Rechner, den Du herunterfahren willst. Dann kann man ganz ohne Passwort ssh verwenden (vorausgesetzt natürlich, Du richtest keine Passphrase für den ssh-Schlüssel ein).

Masternoob

(Themenstarter)

Anmeldungsdatum:
11. August 2008

Beiträge: 46

Hello World schrieb:

sshpass ist auch ein ausgesprochen dreckiger Hack. Generiere Dir einen ssh-Schlüssel mit ssh-keygen und kopiere dessen öffentliche Hälfte mit ssh-copy-id auf den Rechner, den Du herunterfahren willst. Dann kann man ganz ohne Passwort ssh verwenden (vorausgesetzt natürlich, Du richtest keine Passphrase für den ssh-Schlüssel ein).

kann leider auf dem mediacenter keinen key generieren...

darum bräuchte ich das ganze ja als python skript...

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2133

Wohnort: Gelsenkirchen

Kennt es überhaupt ssh? Worin macht sich "geht nicht" bemerkbar? Gibt es eine Fehlermeldung (nicht, dass ich das schon mal gefragt hätte) oder passiert einfach gar nichts?

Masternoob

(Themenstarter)

Anmeldungsdatum:
11. August 2008

Beiträge: 46

snafu1 schrieb:

Kennt es überhaupt ssh? Worin macht sich "geht nicht" bemerkbar? Gibt es eine Fehlermeldung (nicht, dass ich das schon mal gefragt hätte) oder passiert einfach gar nichts?

ssh sollte funktionieren...

es passiert gar nichts...

claus007

Avatar von claus007

Anmeldungsdatum:
15. Oktober 2008

Beiträge: 90

Will jetzt kein Spielverderber sein, aber welche Pakete hast du denn zur Verfügung ?

Es gibt soviele andere geile Sachen die man mit Python machen kann z.B. XMLRpc !

Auf der anderen Seite würde ich bei dem Beispiel mit Popen bleiben, da kannst du dann auch direkt in die Input-Pipe schreiben...

Masternoob

(Themenstarter)

Anmeldungsdatum:
11. August 2008

Beiträge: 46

claus007 schrieb:

Will jetzt kein Spielverderber sein, aber welche Pakete hast du denn zur Verfügung ?

Es gibt soviele andere geile Sachen die man mit Python machen kann z.B. XMLRpc !

Auf der anderen Seite würde ich bei dem Beispiel mit Popen bleiben, da kannst du dann auch direkt in die Input-Pipe schreiben...

popen funktioniert ja leider nicht... ich nehme mal an ich habe nur die standard python sachen zur verfügung...

hab leider nicht viel ahnung in dem bereich =/

claus007

Avatar von claus007

Anmeldungsdatum:
15. Oktober 2008

Beiträge: 90

dann würde ich Dir empfehlen, dreh' die ganze Sache rum...

Wenn Du einen dummen Client hast, muß dein Server intelligenter werden ☺

Was kannst du denn an Netzwerksachen benutzen ? Telnet ? Http (also kannst du webseiten runterladen) ? Kannst du einfache Sockets öffnen ? Ftp ? Samba ?

Masternoob

(Themenstarter)

Anmeldungsdatum:
11. August 2008

Beiträge: 46

claus007 schrieb:

dann würde ich Dir empfehlen, dreh' die ganze Sache rum...

Wenn Du einen dummen Client hast, muß dein Server intelligenter werden ☺

Was kannst du denn an Netzwerksachen benutzen ? Telnet ? Http (also kannst du webseiten runterladen) ? Kannst du einfache Sockets öffnen ? Ftp ? Samba ?

auf den client kann man sich per ssh verbinden, per ftp, man kann sockets öffnen...(laut offizieller homepage)

samba und http weiß ich jetzt nicht...

claus007

Avatar von claus007

Anmeldungsdatum:
15. Oktober 2008

Beiträge: 90

Masternoob schrieb:

auf den client kann man sich per ssh verbinden, per ftp, man kann sockets öffnen...(laut offizieller homepage)

(kleiner tip d.h. Du hast einen ssh/ftp server laufen, dass muss nicht zwangläufig heissen, dass du auch einen client hast)

Na also und schon bieten sich ein Haufen Möglichkeiten an:

Du kannst...

1: ... eine datei im ftp verzeichnis generieren und diese dann mit dem server pollen

2: ... eine http-Anforderung auf ein cgi-script auf dein server generieren/loslassen

3: ... du kannst deinen Server über telnet runterfahren

4: ... du kannst dich von deinem server über ssh verbinden und prüfen ob eine bestimmte dateie da liegt

5: ... du kannst auf deinem Server einen Server-Socket machen und bei Verbindung auf einen bestimmten Port den rechner runterfahren..

6: etc....

Masternoob

(Themenstarter)

Anmeldungsdatum:
11. August 2008

Beiträge: 46

claus007 schrieb:

Masternoob schrieb:

auf den client kann man sich per ssh verbinden, per ftp, man kann sockets öffnen...(laut offizieller homepage)

(kleiner tip d.h. Du hast einen ssh/ftp server laufen, dass muss nicht zwangläufig heissen, dass du auch einen client hast)

Na also und schon bieten sich ein Haufen Möglichkeiten an:

Du kannst...

1: ... eine datei im ftp verzeichnis generieren und diese dann mit dem server pollen

2: ... eine http-Anforderung auf ein cgi-script auf dein server generieren/loslassen

3: ... du kannst deinen Server über telnet runterfahren

4: ... du kannst dich von deinem server über ssh verbinden und prüfen ob eine bestimmte dateie da liegt

5: ... du kannst auf deinem Server einen Server-Socket machen und bei Verbindung auf einen bestimmten Port den rechner runterfahren..

6: etc....

danke...werds so versuchen...

hab mich dumm und dämlich überlegt wie ich ssh verbindung von client mache....aber so gehts viel einfacher 8)

claus007

Avatar von claus007

Anmeldungsdatum:
15. Oktober 2008

Beiträge: 90

kannst ja sagen wie's ausgegangen ist ☺

viel spass

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2133

Wohnort: Gelsenkirchen

Du könntest es über das Modul socket lösen und dem Server einfach ein "shutdown" senden oder sowas. Es gibt dort etwas weiter unten ein paar Beispiele wie man Daten sendet. Der Server müsste dann wie gesagt nur auf ein bestimmtes Schlüsselwort hin etwas tun.

Masternoob

(Themenstarter)

Anmeldungsdatum:
11. August 2008

Beiträge: 46

#!/bin/bash
# Prüfen ob Shutdown ausgeführt werden soll

while [ i != 1 ]
do
if test -e ftp:\\10.0.0.8\shutdown\shutdown
then
echo "shutdown gefunden"
shutdown -h
else
echo "shutdown nicht gefunden"
fi
done

das skript sollte solange auf den ftp schauen bis die datei "shutdown" vorhanden ist... stimmt das so? (kanns erst am abend probieren)