Sie können auch Bash on Ubuntu on Windows
verwenden direkt. Beispiel:
bash -c "ssh -t [email protected] 'cd /; sudo my-command'"
Per Martin Prikryls Kommentar unten:
Das -t aktiviert die Terminalemulation. Ob Sie die Terminalemulation für sudo benötigen, hängt von der Konfiguration ab (und standardmäßig brauchen Sie sie nicht, während viele Distributionen die Standardeinstellung überschreiben). Im Gegensatz dazu benötigen viele andere Befehle eine Terminalemulation.
Alternativ können Sie OpenSSH http://www.mls-software.com/opensshd.html installieren und dann einfach ssh [email protected] -pw password -m command_run
Bearbeiten:Wählen Sie nach einer Antwort von user2687375 bei der Installation nur Client aus. Sobald dies erledigt ist, sollten Sie in der Lage sein, SSH über den Befehl zu initiieren.
Dann können Sie ein SSH-Batch-Skript wie
erstellenECHO OFF
CLS
:MENU
ECHO.
ECHO ........................
ECHO SSH servers
ECHO ........................
ECHO.
ECHO 1 - Web Server 1
ECHO 2 - Web Server 2
ECHO E - EXIT
ECHO.
SET /P M=Type 1 - 2 then press ENTER:
IF %M%==1 GOTO WEB1
IF %M%==2 GOTO WEB2
IF %M%==E GOTO EOF
REM ------------------------------
REM SSH Server details
REM ------------------------------
:WEB1
CLS
call ssh [email protected]
cmd /k
:WEB2
CLS
call ssh [email protected]
cmd /k
Die -m
Schalter von PuTTY nimmt einen Pfad zu einer Skriptdatei als Argument, nicht als Befehl .
Referenz:https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-m
Sie müssen also Ihren Befehl speichern (command_run
) in eine einfache Textdatei (z. B. c:\path\command.txt
) und übergeben Sie das an PuTTY:
putty.exe -ssh [email protected] -pw password -m c:\path\command.txt
Beachten Sie jedoch, dass Sie Plink (ein Befehlszeilen-Verbindungstool aus der PuTTY-Suite) verwenden sollten. Es ist eine Konsolenanwendung, also können Sie ihre Ausgabe in eine Datei umleiten (was Sie mit PuTTY nicht tun können).
Eine Befehlszeilensyntax ist identisch, eine Ausgabeumleitung hinzugefügt:
plink.exe -ssh [email protected] -pw password -m c:\path\command.txt > output.txt
Siehe Verwenden des Befehlszeilen-Verbindungstools Plink.
Und mit Plink können Sie den Befehl tatsächlich direkt in der Befehlszeile angeben:
plink.exe -ssh [email protected] -pw password command > output.txt
Ähnliche Fragen:
Automatisieren des ausgeführten Befehls unter Linux von Windows mit PuTTY
Befehl in Plink aus einer Batch-Datei ausführen