Puoi anche usare Bash on Ubuntu on Windows
direttamente. Ad esempio,
bash -c "ssh -t [email protected] 'cd /; sudo my-command'"
Di seguito il commento di Per Martin Prikryl:
Il -t abilita l'emulazione di terminale. Se hai bisogno dell'emulazione di terminale per sudo dipende dalla configurazione (e per impostazione predefinita non ne hai bisogno, mentre molte distribuzioni sovrascrivono l'impostazione predefinita). Al contrario, molti altri comandi richiedono l'emulazione di terminale.
In alternativa puoi installare OpenSSH http://www.mls-software.com/opensshd.html e poi semplicemente ssh [email protected] -pw password -m command_run
Modifica:dopo una risposta dall'utente2687375 durante l'installazione, selezionare solo client. Una volta fatto questo dovresti essere in grado di avviare SSH dal comando.
Quindi puoi creare uno script batch ssh come
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
Il -m
il passaggio a PuTTY richiede un percorso a un file di script come argomento, non come comando .
Riferimento:https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-m
Quindi devi salvare il tuo comando (command_run
) in un file di testo normale (ad es. c:\path\command.txt
) e passalo a PuTTY:
putty.exe -ssh [email protected] -pw password -m c:\path\command.txt
Tuttavia, tieni presente che dovresti utilizzare Plink (uno strumento di connessione da riga di comando della suite PuTTY). È un'applicazione console, quindi puoi reindirizzare il suo output su un file (cosa che non puoi fare con PuTTY).
La sintassi della riga di comando è identica, è stato aggiunto un reindirizzamento dell'output:
plink.exe -ssh [email protected] -pw password -m c:\path\command.txt > output.txt
Vedere Utilizzo dello strumento di connessione della riga di comando Plink.
E con Plink, puoi effettivamente fornire il comando direttamente sulla sua riga di comando:
plink.exe -ssh [email protected] -pw password command > output.txt
Domande simili:
Automatizzare l'esecuzione del comando su Linux da Windows utilizzando PuTTY
Esecuzione del comando in Plink da un file batch