ssh Verbindung aufbauen und commands absetzen

Daveler

Newbie
Registriert
Nov. 2006
Beiträge
6
Hallo,

meine Suche lieferte bisher leider keine Ergebnisse.

Ich bräuchte ein batch file oder eine exe, die ich beim Herunterfahren eines Windows Servers ausführen kann. Dieses Script (?) soll eine SSH session zu einem Gerät aufbauen, username und password selbstständig eingeben, ein command absetzten und die Verbindung wieder abbauen. Danach kann der Windows Server herunterfahren.

Leider sind meine Programmierkenntnisse praktisch 0, hat jemand sowas schonmal gemacht oder kann mir da weiterhelfen?

TIA, Dave
 
naja, du musst den ssh Server so konfigurieren, dass er passwortlose Logins, also Logins über hinterlegte Zertifikate, akzeptiert. Dann läuft das mit den Skripts bzw. Kommandos ein der Regel super.

ssh user@machine kommando

einfach mal in den Manpages zu ssh und dem openssh-Server schauen.
 
Danke!
Der Hinweis, den SSH Client dafür zu verwenden war der entscheidende.
Hab es übrigens mit SecureCRT gelöst, da es sich im Gegensatz zu Putty Passwörter merken kann und mit dem "Automated Logon" ich einfach mehrere commands absetzen kann.

Bei Putty habe ich es von der Console aus nur geschafft mich auf das entfernte Gerät einzuloggen. Danach müsste ich noch 2 commands eingeben, aber daran bin ich gescheitert.

Der Link von meph!sto war sehr hilfreich, aber wie ich dann commands absetze habe ich nciht gefunden :-(

-m: read a remote command or script from a file

Das hätte ich probiert. Habe ein Textfile geschrieben mit den 2 commands und dann auf dieses verwiesen. Da bricht er mir dann nach der Usernameeingabe ab und putty beendet sich.

von cmd aus (das geht):
C:\>putty -ssh 192.168.0.1 -l username -pw password

das geht nicht mehr:
C:\>putty -ssh 192.168.0.1 -l username -pw password -m c:commands.txt

Was mache ich falsch?
 
Vermutlich solltest du den richtigen Pfad zur Datei angeben.
 
ist c:commands.txt nicht der richtige Pfad zur Datei, wenn die Datei auf C: liegt und "commands.txt" heißt????
 
Normalerweise wäre das dann c:\commands.txt.
 
macht leider keinen Unterschied.

hab es mit dem \ probiert "..... -m c:\commands.txt" und ich hab es auch ohne Pfadangabe probiert "..... -m commands.txt"
 
auch mit

-m "C:\commands.txt"

? ich weiß nicht ob das was bringt aber man kanns ja mal probiern. ansonsten könntest du in nem batch file vorher ein cd machen.
 
Nö, das macht auch keinen Unterschied.

Ich war mal so frei und hab das Textfile in einen Unterordner verschoben.

C:\>putty -ssh 192.168.0.1 -l username -pw password -m C:\Temp\commands.txt

kommt genau das gleiche Ergebnis dabei raus. Was sagt mir das? Die Pfadangabe müsste eigentlich passen. Vielleicht kommt er aber nicht damit zurecht, dass es ein Textfile ist, oder mit dem Inhalt?
Oder die Option "-m" ist nicht die Richtige für das was ich will? Nur welche ist es dann?

Nachtrag: In dem Textfile steht übrigens nichts anderes als das was ich unter normalen Umständen eingeben würde (genau steht da: show network eth0)
 
Vielleicht ist ja die Reihenfolge der Argumente falsch. Ich würde mal folgendes ausprobieren:

Code:
C:\> putty -ssh -pw password -m C:\Temp\commands.txt username@192.168.0.1

Wenn das nicht klappt, versuch das gleiche mal mit Plink.
 
Zurück
Oben