Estoy conectado a un host remoto usando PuTTY.
¿Cuál es el comando para transferir archivos desde mi máquina local a la máquina en la que estoy conectado en PuTTY?
Estoy conectado a un host remoto usando PuTTY.
¿Cuál es el comando para transferir archivos desde mi máquina local a la máquina en la que estoy conectado en PuTTY?
Respuestas:
Probablemente esta no sea una respuesta directa a lo que está preguntando, pero cuando necesito transferir archivos a través de una sesión SSH, uso WinSCP , que es un excelente programa de transferencia de archivos a través de SCP o SFTP. Por supuesto, esto supone que estás en Windows.
sudo
en WinSCP, consulte las Preguntas frecuentes. ¿Cómo cambio de usuario después de iniciar sesión (por ejemplo, su root)?
c:> pscp nombre_archivo_origen id_usuario @ nombre_servidor: / ruta / nombre_archivo_destino.
c:> pscp november2012 wrhse@warehouse.cit.cornell.edu: / mydata / november2012.
Disfrutar
sudo su - user
PuTTY generalmente viene con un cliente llamado psftp que puede aprovechar para este propósito. No creo que pueda hacerlo a través del cliente PuTTY estándar (aunque se puede demostrar que estoy equivocado en eso).
PuTTY solo le da acceso para manipular la máquina remota. No proporciona un vínculo directo entre los dos sistemas de archivos más de lo que lo hace sentarse en la máquina remota.
No hay forma de iniciar una transferencia de archivos hacia / desde Windows local desde una sesión SSH abierta en la ventana PuTTY.
Aunque PuTTY admite la conexión compartida.
Si bien aún necesita ejecutar un cliente de transferencia de archivos compatible (el pscp
o psftp
), no se requiere un nuevo inicio de sesión, automáticamente (si está habilitado) hace uso de una sesión PuTTY existente.
Para habilitar el uso compartido, consulte:
Compartir una conexión SSH entre herramientas PuTTY .
Una forma alternativa es utilizar WinSCP, un cliente GUI SFTP / SCP. Mientras navega por el sitio remoto, puede abrir el terminal SSH en cualquier momento en el mismo sitio usando el botón Abrir en PuTTY .
Consulte Sesión de apertura en PuTTY .
Con una configuración adicional, incluso puede hacer que PuTTY navegue automáticamente al mismo directorio que está navegando con WinSCP.
Consulte Abrir PuTTY en el mismo directorio .
(Soy el autor de WinSCP)
También puede descargar psftp.exe desde:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Cuando lo ejecuta, escribe:
open "server name"
Entonces:
put "file name"
(Escriba ayuda para obtener una lista completa de comandos).
También puede escribir get <file name>
para descargar archivos desde una máquina remota a la máquina local.
Si es solo una lima, puede usar el siguiente procedimiento (en masilla):
Edite el permiso del archivo con el siguiente comando: chmod u + x filename.extension
Ya que preguntaste sobre hacia / desde, aquí tienes un truco que funciona para la parte 'desde'. Abra la pantalla 'Cambiar configuración ...', Terminal, y en 'Impresora para enviar la salida de la impresora ANSI a:' seleccione 'Genérico / Solo texto'
Ahora en el sistema remoto, ejecute esto en una línea:
tput mc5; cat whatever.txt; tput mc4
Putty le informará que el archivo se guardó. Lo que está haciendo es poner el terminal en modo de impresora (tput mc5), imprimir el archivo en la pantalla (cat) y luego apagar el modo de impresora (tput mc4). Si no coloca todos los comandos en una línea, la pantalla aparecerá congelada porque Putty está guardando toda la salida del terminal en un archivo en segundo plano.
Si estás en un sistema más limitado que no tiene el comando tput (por ejemplo, un qnap), puedes probar printf "\ x1b [5i" en lugar de tput mc5 y printf "\ x1b [4i" en lugar de tput mc4 .
El comando en el medio es cualquier cosa que se imprima en la pantalla. Así que use tail -n 10000 blah.log para descargar las últimas 10k líneas del archivo de registro, o use un codificador base64 para asignar un archivo binario a algo que pueda imprimir (y luego decodificar en su sistema local):
printf "\x1b[5i"; openssl enc -base64 -in something.zip; printf "\x1b[4i"
Si tiene que hacer una validación de clave privada; en el símbolo del sistema (cmd), ejecute
Primero;
set PATH=C:\PuttySetupLocation
Segundo;
pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar ubuntu@55.69.41.155:/home/ubuntu
Además, si necesita opciones adicionales, consulte el siguiente enlace. https://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html
set PATH=C:\PuttySetupLocation
? ¿Por qué no lo haces C:\PuttySetupLocation\pscp
directamente? - Incluso si desea modificar PATH
, debe agregar la nueva ruta, no restablecerla por completo.
Mira aquí:
Recomienda usar pscp.exe
PuTTY, que se puede encontrar aquí: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
No es posible una transferencia directa como FTP, porque todos los comandos durante su sesión se envían al servidor.
Transferencia de archivos con Putty (pscp / plink.exe)
La instalación de masilla predeterminada proporciona varias formas de transferir archivos. Lo más probable putty
es que esté en su ruta predeterminada, por lo que puede llamar directamente
putty
desde el símbolo del sistema. Si no es así, puede que tenga que cambiar sus variables ambientales. Consulte las instrucciones aquí:
https://it.cornell.edu/managed-servers/transfer-files-using-putt
Pasos
Abra el símbolo del sistema escribiendo cmd
Para transferir carpetas de su computadora con Windows a otra computadora con Windows,
use (observe la -r
bandera, que indica que los archivos se transferirán de forma recursiva, no es necesario que los comprima):
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
Para transferir archivos desde su computadora con Windows a otra computadora con Windows,
use:
pscp -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
A veces, es posible que solo haya plink
instalado. plink
potencialmente se puede usar para transferir archivos, pero es mejor restringirlo a archivos de texto simples. Puede tener un comportamiento desconocido con archivos binarios ( /superuser/1289455/create-text-file-on-remote-machine-using-plink-putty-with-contents-of-windows-lo ):
plink -i C:/Users/username/.ssh/id_rsa.ppk user@host <localfile "cat >hostfile"
Para transferir archivos desde un servidor Linux a una computadora con Windows a una computadora con Linux, use
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" username@10.15.48.16:/home/username
Para que todo esto funcione, debe tener la clave pública / privada adecuada. Para generar eso para masilla, consulte: https://superuser.com/a/1285789/658319
De esa manera, en Windows, pscp permite una carga directamente (sin ninguna solicitud, por ejemplo, aceptación de clave):
pscp.exe -scp -pw 'my_pw' -v -i my.ppk -l root -batch -sshlog logfile19.txt -hostkey ba:2e:4d:12:68:82:19:a1:d2:22:bc:12:c2:1a:44:a7 hallo4.txt root@10.10.10.10:/srv/www/htdocs/xml_parser/hallo4.txt