GNU/Linux >> Linux Esercitazione >  >> Linux

Il modo migliore per creare script di comandi SSH remoti in Batch (Windows)

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


Linux
  1. 6 migliori alternative di mastice gratuite per client SSH su Windows

  2. Esecuzione di file exe o bat su computer Windows remoto da *nix

  3. scrivi uno script di shell su ssh su una macchina remota ed esegui i comandi

  4. Qual è il modo migliore per verificare se un volume è montato in uno script Bash?

  5. C'è un modo per fare un ls remoto proprio come scp fa una copia remota?

Esegui comandi su sistemi Linux remoti tramite SSH

Un ragazzo Windows in un mondo Linux:VS Code e SSH remoto

10 esempi PuTTY PLINK per automatizzare i comandi Linux remoti dai file batch di Windows

Come utilizzare SSH per connettersi a un server remoto in Linux o Windows

Come posso montare una cartella Linux remota in Windows tramite SSH?

Qual è il modo più veloce per eseguire uno script?