GNU/Linux >> Tutoriales Linux >  >> Linux

La mejor manera de escribir comandos SSH remotos en Batch (Windows)

También puedes usar Bash on Ubuntu on Windows directamente. Por ejemplo,

bash -c "ssh -t [email protected] 'cd /; sudo my-command'"

Según el comentario de Martin Prikryl a continuación:

El -t habilita la emulación de terminal. Si necesita la emulación de terminal para sudo depende de la configuración (y de forma predeterminada no la necesita, mientras que muchas distribuciones anulan el valor predeterminado). Por el contrario, muchos otros comandos necesitan emulación de terminal.


Como opción alternativa, puede instalar OpenSSH http://www.mls-software.com/opensshd.html y luego simplemente ssh [email protected] -pw password -m command_run

Editar:después de una respuesta del usuario 2687375 al instalar, seleccione solo cliente. Una vez hecho esto, debería poder iniciar SSH desde el comando.

Luego puede crear un script por lotes ssh como

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

El -m el interruptor de PuTTY toma una ruta a un archivo de script como un argumento, no como un comando .

Referencia:https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-m

Así que tienes que guardar tu comando (command_run ) a un archivo de texto sin formato (por ejemplo, c:\path\command.txt ) y pásalo a PuTTY:

putty.exe -ssh [email protected] -pw password -m c:\path\command.txt

Aunque tenga en cuenta que debe usar Plink (una herramienta de conexión de línea de comandos de la suite PuTTY). Es una aplicación de consola, por lo que puede redirigir su salida a un archivo (lo que no puede hacer con PuTTY).

Una sintaxis de línea de comandos es idéntica, se agregó una redirección de salida:

plink.exe -ssh [email protected] -pw password -m c:\path\command.txt > output.txt

Consulte Uso de la herramienta de conexión de línea de comandos Plink.

Y con Plink, puede proporcionar el comando directamente en su línea de comandos:

plink.exe -ssh [email protected] -pw password command > output.txt

Preguntas similares:
Automatización de comandos en ejecución en Linux desde Windows usando PuTTY
Ejecutando comando en Plink desde un archivo por lotes


Linux
  1. Las 6 mejores alternativas gratuitas de Putty para clientes SSH en Windows

  2. ¿La mejor manera de montar una carpeta remota?

  3. ¿La mejor manera de probar Ubuntu en la computadora?

  4. compruebe si el archivo existe en el host remoto con ssh

  5. Copia de seguridad de rsync/ssh/rsnapshot:ejecución remota de secuencias de comandos

Ejecutar comandos en sistemas Linux remotos a través de SSH

Un chico de Windows en un mundo Linux:VS Code y SSH remoto

10 ejemplos de PuTTY PLINK para automatizar comandos remotos de Linux desde archivos por lotes de Windows

Cómo usar SSH para conectarse a un servidor remoto en Linux o Windows

¿Cómo monto una carpeta remota de Linux en Windows a través de SSH?

¿Cuál es la forma más rápida de ejecutar un script?