Seite 1 von 1

Suche Tutorial: SSH mit Python benutzen

Verfasst: Montag 15. Oktober 2007, 13:32
von BoOnOdY
Hey,

ich suche die ganze Zeit schon nach einem Modul in Python mit dem ich per SSH Befehle auf nem anderen Server ausführen kann und hab das Modul "PYSSH" gefunden.

Aber irgendwie finde ich nirgends ein Tutorial wie man damit umgeht und so.

Hat irgendjemand ein paar passende Codeschnipsel die ich mir dazu angucken könnte oder einen Link parat?


Gruß BoOnOdY

Verfasst: Montag 15. Oktober 2007, 16:37
von veers
Paramiko dürfte das sein was du suchst.

- Jonas

Verfasst: Dienstag 16. Oktober 2007, 10:38
von BoOnOdY
Hy,

das Ding mag vielleicht ganz gut sein, aber irgendwie ist die Doku für mich nicht einsichtig... Vielleicht bin ich einfach zu blöd dafür.
Aber ich find nicht wie man einfach eine Datei auf dem Server auf den man mit SSH zugreift ausfürht oder ein Verzeichnis wechselt? Geschweigedenn wie man sich anmeldet-..


Gruß Tim

Verfasst: Dienstag 16. Oktober 2007, 11:03
von gerold
Hallo!

Auf welchem Betriebssystem läuft dein Programm?

mfg
Gerold
:-)

Verfasst: Dienstag 16. Oktober 2007, 11:37
von CM
BoOnOdY hat geschrieben:das Ding mag vielleicht ganz gut sein, aber irgendwie ist die Doku für mich nicht einsichtig... Vielleicht bin ich einfach zu blöd dafür.
Aber ich find nicht wie man einfach eine Datei auf dem Server auf den man mit SSH zugreift ausfürht oder ein Verzeichnis wechselt? Geschweigedenn wie man sich anmeldet-..
Mit dem download solltest Du eine ganze Reihe von Demos erhalten haben. Funktionieren die nicht?

Gruß,
Christian

Verfasst: Dienstag 16. Oktober 2007, 11:52
von BoOnOdY
Hy,

ich hab das alles auf Windows laufen

Gruß BoOnOdY

Verfasst: Dienstag 16. Oktober 2007, 12:05
von gerold
BoOnOdY hat geschrieben:ich hab das alles auf Windows laufen
Hallo BoOnOdY!

Dann ist es das Einfachste, du rufst ``plink`` über ``Popen`` auf.

Plink ist ein Kommandozeilentool mit dem du einfache Kommandos über SSH-Verbindungen absetzen kannst.

Installiere dir dazu das komplette Putty http://www.chiark.greenend.org.uk/~sgta ... nload.html
(suche auf der Webseite nach "Installer").
In der zugehörigen Hilfe-Datei (putty.chm) wird plink genau erklärt.

Z.B.: so:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import subprocess

args = [
    "J:\Programme\PuTTY\plink.exe", "-batch", "-l", "<benutzername>",
    "-pw", "<passwort>", "<ziel_computer>", "<befehl>"
]
proc = subprocess.Popen(args, stdout = subprocess.PIPE)
print proc.stdout.read()
mfg
Gerold
:-)

Verfasst: Dienstag 16. Oktober 2007, 12:14
von BoOnOdY
Hey Cool, das ist doch genau das was ich wollte =) Putty hab ich schon aber dieses Plink kannte ich nicht =) vielen Dank

Gruß´BoOnOdY

Verfasst: Dienstag 16. Oktober 2007, 13:43
von BoOnOdY
Entschuldigt den Doppelpost:

Ich hab nur noch ein kleines Problem... wie muss es aussehen wenn ich zuerst in ein Verzeichnis wechseln will und dann eine Datei ausführen.

Ich bekomm keine Fehlermeldung wenn ich die beiden Befehle mit nem Komma abtrenne, aber die datei wird auch nich aufgerufen...

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import subprocess

args = [
    "C:\Programme\PuTTY\plink.exe" , "-l", "<benutzername>", "-pw", "<passwort>", "<Serveradresse>", "/usr/boonody/time/timer.sh"
]
proc = subprocess.Popen(args, stdout = subprocess.PIPE)
print proc.stdout.read()
Da sagt er mir das die Datei nicht vorhanden wäre wenn ich aber dann den Befehl so formuliere:

"cd /usr/boonody/time", "./timer.sh"

dann gibt er keine Rückmeldung aber führt den skript auch net aus.

gruß BoOnOdY

Verfasst: Dienstag 16. Oktober 2007, 13:55
von gerold
Hallo BoOnOdY!

So
"bash /usr/boonody/time/timer.sh"
oder so
"cd /usr/boonody/time; bash timer.sh"
sollte es evt. funktionieren.

mfg
Gerold
:-)

Verfasst: Dienstag 16. Oktober 2007, 14:06
von BoOnOdY
2te Variante =) dankeschön jetzt is alles geklärt

Vielen Dank

gruß BoOnOdY