Vous pouvez également utiliser Bash on Ubuntu on Windows
directement. Par exemple,
bash -c "ssh -t [email protected] 'cd /; sudo my-command'"
Selon le commentaire de Martin Prikryl ci-dessous :
Le -t active l'émulation de terminal. Que vous ayez besoin de l'émulation de terminal pour sudo dépend de la configuration (et par défaut, vous n'en avez pas besoin, alors que de nombreuses distributions remplacent la valeur par défaut). Au contraire, de nombreuses autres commandes nécessitent une émulation de terminal.
Comme option alternative, vous pouvez installer OpenSSH http://www.mls-software.com/opensshd.html puis simplement ssh [email protected] -pw password -m command_run
Modifier :après une réponse de l'utilisateur 2687375 lors de l'installation, sélectionnez le client uniquement. Une fois cela fait, vous devriez pouvoir lancer SSH à partir de la commande.
Ensuite, vous pouvez créer un script batch ssh tel que
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
Le -m
le commutateur de PuTTY prend un chemin vers un fichier de script comme argument, pas comme commande .
Référence :https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-m
Vous devez donc enregistrer votre commande (command_run
) dans un fichier texte brut (par exemple c:\path\command.txt
) et transmettez-le à PuTTY :
putty.exe -ssh [email protected] -pw password -m c:\path\command.txt
Notez cependant que vous devez utiliser Plink (un outil de connexion en ligne de commande de la suite PuTTY). C'est une application console, vous pouvez donc rediriger sa sortie vers un fichier (ce que vous ne pouvez pas faire avec PuTTY).
Une syntaxe de ligne de commande est identique, une redirection de sortie ajoutée :
plink.exe -ssh [email protected] -pw password -m c:\path\command.txt > output.txt
Voir Utilisation de l'outil de connexion en ligne de commande Plink.
Et avec Plink, vous pouvez en fait fournir la commande directement sur sa ligne de commande :
plink.exe -ssh [email protected] -pw password command > output.txt
Questions similaires :
Automatisation de la commande en cours d'exécution sur Linux à partir de Windows à l'aide de PuTTY
Exécution d'une commande dans Plink à partir d'un fichier batch