Um Befehle automatisch mit PuTTY auszuführen, übergeben Sie mit dem -m
Schalter eine Textdatei mit den auszuführenden Befehlen , z.
putty.exe -ssh user@host -m commands.txt
Wo das commands.txt
enthalten würde
usrun -u root rush
Dies hilft Ihnen jedoch nicht bei der Eingabe des Kennworts, da es sich um eine Eingabe für den usrun
Befehl und nicht um einen eigenen Befehl -m
handelt. Ich kenne die nicht usrun
, daher kann ich nicht sagen, ob es eine Möglichkeit gibt, eine andere Methode zu "authentifizieren", statt ein Passwort "einzugeben". Wenn Sie versuchen, die Kennworteingabe zu automatisieren, tun Sie im Allgemeinen etwas Falsches. Es ist ein Sicherheitsrisiko. Überprüfen Sie immer, ob es einen besseren (= sichereren) Weg gibt.
Ein weiteres Problem sind weitere Befehle. Wenn alle Befehle, die Sie ausführen möchten, in derselben Umgebung / Shell ausgeführt werden sollen, können Sie sie commands.txt
zeilenweise anordnen.
command1
command2
Beachten Sie jedoch, dass nicht alle SSH-Server mehrere Leitungen unterstützen. Die Mehrheit tut es jedoch. Wenn nicht, können Sie immer Ihre Server- / Shell-spezifische Methode verwenden, um mehrere Befehle in einer einzigen Zeile auszuführen:
command1 && command2
Aber wenn die weitere Befehle tatsächlich Subbefehle des ersten Befehls sind, was der Fall ist mit Befehlen wie su
, sh
, bash
, ssh
, ftp
, etc. (und könnte den Fall sein , mit dem usrun
) sind die weitere Befehle tatsächlich eine Eingabe an den ersten, nicht eigenständigen Befehle der Top-Level-Umgebung / Shell. Es ist tatsächlich ein identisches Problem wie das oben beschriebene Problem bei der Passworteingabe.
Im Gegensatz zum Kennwortproblem verfügt der primäre Befehl bei Unterbefehlen möglicherweise über einen anderen Mechanismus, um sie bereitzustellen, anstatt Eingaben zu verwenden.
Vor diesem Hintergrund können Sie anstelle von PuTTY Plink (PuTTY-Befehlszeilenverbindungstool) verwenden. Es ist ein Tool aus dem PuTTY-Paket, das wie PuTTY funktioniert, aber eine Konsolen- und keine GUI-Anwendung ist. Als solches kann es eine Eingabe / Ausgabe-Umleitung verwenden. So können Sie sogar ein Kennwort oder Unterbefehle des primären Befehls aus einer Datei umleiten, als hätten Sie sie auf einer Konsole eingegeben. Außerdem ist der Plink das Werkzeug zur Automatisierung von Aufgaben , nicht für PuTTY.
echo usrun -u root rush>input.txt
echo password>input.txt
echo command_for_usrun>input.txt
plink -ssh user@host < input.txt
Alternativ können Sie KiTTY mit seinem -cmd
Schalter verwenden, der das tut, was Sie wollen. Das KiTTY ist eine GUI-Anwendung (es ist ein Klon von PuTTY). Sein -cmd
Schalter simuliert im Grunde das Tippen, so dass er keine Probleme mit Eingaben (Passwort und Unterbefehlen) für Befehle hat. Aber ich fand es ziemlich unzuverlässig. Ich kann es nicht wirklich empfehlen. Aber vielleicht finden Sie es für Ihre Aufgabe ausreichend.
-m
in der Syntax vorgehen soll und welche Befehle ich in der Notepad-Datei verwenden soll.