Este es el valor predeterminado para SSH. Si desea redirigir la salida de forma remota, coloque el símbolo de redirección (normalmente ">") dentro de las comillas del comando.
Por ejemplo:
ssh remote_host "ls > /tmp/file_on_remote_host.txt"
Para guardar la salida localmente en el host de Windows,
ssh remote_host "ls" > .\file_on_local_host.txt
Para combinar stderr de forma remota y guardarlo y stdout localmente,
ssh remote_host "ls 2>&1" > .\combined_output_on_local_host.txt
Lo que estaba buscando es el complemento de Putty, plink.exe . A diferencia de Putty, que actúa como un emulador de terminal, plink
actúa como un programa CLI normal (no interactivo).
Usándolo, podría hacer esto en cmd.exe
y obtenga la salida del comando remoto guardada localmente.
\> plink remote_host "ls -l" > log.txt
Lo mejor de todo, esto funciona para ssh así como telnet !
A modo de referencia, estas son las opciones disponibles:
PuTTY Link: command-line connection utility
Release 0.59
Usage: plink [options] [[email protected]]host [command]
("host" can also be a PuTTY saved session name)
Options:
-V print version information and exit
-pgpfp print PGP key fingerprints and exit
-v show verbose messages
-load sessname Load settings from saved session
-ssh -telnet -rlogin -raw
force use of a particular protocol
-P port connect to specified port
-l user connect with specified username
-batch disable all interactive prompts
The following options only apply to SSH connections:
-pw passw login with specified password
-D [listen-IP:]listen-port
Dynamic SOCKS-based port forwarding
-L [listen-IP:]listen-port:host:port
Forward local port to remote address
-R [listen-IP:]listen-port:host:port
Forward remote port to local address
-X -x enable / disable X11 forwarding
-A -a enable / disable agent forwarding
-t -T enable / disable pty allocation
-1 -2 force use of particular protocol version
-4 -6 force use of IPv4 or IPv6
-C enable compression
-i key private key file for authentication
-noagent disable use of Pageant
-agent enable use of Pageant
-m file read remote command(s) from file
-s remote command is an SSH subsystem (SSH-2 only)
-N don't start a shell/command (SSH-2 only)
-nc host:port
open tunnel in place of session (SSH-2 only)
Sí, si usa el cliente ssh de PuTTY, verá cualquier salida de línea de comando que produzca su secuencia de comandos. Para obtener el código de salida después de que se ejecute el script, escriba:
echo $?