Ich habe ein Szenario, in dem ich häufig einen Linux-Shell-Befehl (mit unterschiedlichen Dateinamen) unter Windows ausführen muss . Ich benutze dazu PuTTY und WinSCP (erfordert Anmeldenamen und Passwort). Die Datei wird über WinSCP in einen vordefinierten Ordner auf dem Linux-Computer kopiert und anschließend der Befehl von PuTTY ausgeführt. Gibt es eine Möglichkeit, dies durch ein Programm zu automatisieren? Im Idealfall möchte ich mit der rechten Maustaste auf die Datei in Windows klicken und den Befehl ausgeben, der die Datei auf den Remotecomputer kopiert und den vordefinierten Befehl (in PuTTy) mit dem Dateinamen als Argument ausführt.
quelle
putty.exe -ssh -2 -l username -pw password -m c:remote.cmd hostname
. Vielen Dank. Jetzt muss ich den Befehl herausfinden, um die Datei zu kopieren und remote.cmdPutty wird normalerweise mit dem Dienstprogramm "plink" geliefert.
Dies ist im Wesentlichen der Befehlszeilenbefehl "ssh", der als Windows-EXE-Datei implementiert ist.
Es ist ziemlich gut im Kitt-Handbuch unter "Verwenden des Befehlszeilen-Tool-Plinks" dokumentiert.
Sie müssen nur einen Befehl wie folgt umbrechen:
in einem .bat-Skript.
Sie können auch allgemeine Shell-Konstrukte wie Semikolons verwenden, um mehrere Befehle auszuführen. z.B:
quelle
Sie können ein TCL-Skript schreiben und eine SSH-Sitzung auf diesem Linux-Computer einrichten und Befehle automatisch ausgeben. Unter http://wiki.tcl.tk/11542 finden Sie ein kurzes Tutorial.
quelle
Sie können eine Kitt-Sitzung erstellen und das Skript beim Starten der Sitzung automatisch auf den Server laden:
Zeigen Sie bei einem Remote-Befehl auf das Remote-Skript.
quelle
Sie können beide Aufgaben (das Hochladen und die Befehlsausführung) mit WinSCP ausführen. Verwenden Sie das WinSCP-Skript wie folgt:
Referenz für den
call
Befehl:https://winscp.net/eng/docs/scriptcommand_call
Referenz für die
%1%
Syntax:https://winscp.net/eng/docs/scripting#syntax
Sie können das Skript dann wie folgt ausführen:
Tatsächlich können Sie eine Verknüpfung zu dem obigen Befehl im Menü " Senden an" des Windows Explorers einfügen , sodass Sie einfach mit der rechten Maustaste auf eine beliebige Datei klicken und mit WinSCP zu " Senden an"> "Hochladen" wechseln und den Remote-Befehl ausführen ausführen können (= Name der Verknüpfung) ).
Gehen Sie dazu in den Ordner
%USERPROFILE%\SendTo
und erstellen Sie eine Verknüpfung mit dem folgenden Ziel:Siehe Erstellen eines Eintrags im Explorer-Menü "Senden an" .
quelle
Hier ist eine völlig unkonventionelle Lösung.
Im ahk-Skript a) Ftp die Befehlsdatei (.ksh) an den Linux-Rechner
b) Verwenden Sie Plink wie unten. Plink sollte installiert werden, wenn Sie Kitt haben.
oder
Alle Schritte werden nacheinander ausgeführt, wenn Sie in Windows F9 drücken.
quelle
Code:
}}
Beispielbefehle.txt:
ps
Link: https://huseyincakir.wordpress.com/2015/08/27/send-commands-to-a-remote-device-over-puttyssh-putty-send-command-from-command-line/
quelle
Probieren Sie MtPutty aus , Sie können die SSH-Anmeldung darin automatisieren. Es ist ein großartiges Tool, insbesondere wenn Sie sich mehrmals bei mehreren Servern anmelden müssen. Probieren Sie es hier aus
Ein weiteres Tool, das es wert ist, ausprobiert zu werden, ist TeraTerm . Es ist wirklich einfach für die SSH-Automatisierung zu verwenden. Sie können es hier bekommen . Aber mein Favorit ist immer MtPutty.
quelle
Wenn Sie eine schlüsselbasierte Authentifizierung verwenden, scheint die Verwendung einer gespeicherten Putty-Sitzung hervorragend zu funktionieren, z. B. um ein Shell-Skript auf einem Remote-Server auszuführen (in meinem Fall ein ec2). Die gespeicherte Konfiguration übernimmt die Authentifizierung.
C: \ Users> plink saved_putty_session_name path_to_shell_file / filename.sh
Bitte denken Sie daran, dass dieser Befehl nicht funktioniert, wenn Sie Ihre Sitzung unter einem Namen wie (user @ hostname) speichern, da er als Teil des Remote-Befehls behandelt wird.
quelle
plink -load name command
- Wie bereits in der Antwort von @ lwpro2 gezeigt.