Můžete také použít Bash on Ubuntu on Windows
přímo. Např.
bash -c "ssh -t [email protected] 'cd /; sudo my-command'"
Podle komentáře Martina Přikryla níže:
-t umožňuje emulaci terminálu. Zda potřebujete emulaci terminálu pro sudo, závisí na konfiguraci (a ve výchozím nastavení ji nepotřebujete, zatímco mnoho distribucí přepíše výchozí). Naopak mnoho dalších příkazů potřebuje emulaci terminálu.
Jako alternativní možnost můžete nainstalovat OpenSSH http://www.mls-software.com/opensshd.html a poté jednoduše ssh [email protected] -pw password -m command_run
Upravit:Po odpovědi uživatele user2687375 při instalaci vyberte pouze klienta. Jakmile to uděláte, měli byste být schopni spustit SSH z příkazu.
Poté můžete vytvořit dávkový skript ssh, například
ECHO 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
-m
přepínač PuTTY vezme cestu k souboru skriptu jako argument, nikoli příkaz .
Odkaz:https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-m
Takže musíte příkaz uložit (command_run
) do souboru ve formátu prostého textu (např. c:\path\command.txt
) a předejte to PuTTY:
putty.exe -ssh [email protected] -pw password -m c:\path\command.txt
Všimněte si však, že byste měli používat Plink (nástroj pro připojení příkazového řádku ze sady PuTTY). Je to konzolová aplikace, takže její výstup můžete přesměrovat do souboru (co nemůžete udělat s PuTTY).
Syntaxe příkazového řádku je identická, přidáno přesměrování výstupu:
plink.exe -ssh [email protected] -pw password -m c:\path\command.txt > output.txt
Viz Použití nástroje pro připojení příkazového řádku Plink.
A s Plinkem můžete skutečně zadat příkaz přímo na jeho příkazovém řádku:
plink.exe -ssh [email protected] -pw password command > output.txt
Podobné otázky:
Automatizace spouštění příkazů na Linuxu z Windows pomocí PuTTY
Provedení příkazu v Plinku z dávkového souboru