¿Cómo transfiero un archivo a mi servidor usando PuTTY?

16

al llamar SCP en la masilla en mi caja de Win7, no me deja utilizar C: /, pero también tengo ni idea de donde en mi máquina local buscará archivos por defecto. Ninguno del directorio del programa o del directorio del usuario funcionó. Por ejemplo, guardé file.txt junto a PuTTY.exe, y también en C: \ Users \ Me pero al llamar a SCP file.txt file.txt en PuTTY falló las dos veces con

cp: no se puede stat 'file.txt'

Entonces, ¿cómo transfiero un archivo a mi servidor usando PuTTY?

EDITAR: Además, llamar SCP file.txt myserver:file.txtda un error similar:file.txt: No such file or directory

Trindaz
fuente
¿Conoces la ruta completa a tu archivo.txt? hacer SCP full-path-to-file.txt myserver:
Gracias shadow_boi, pero ese es el problema: usar la ruta completa significa incluir c: \, que me da el error ssh: No se pudo resolver el nombre de host c: Nombre o servicio desconocido
Trindaz
2
Supongo que ingresaste al servidor usando masilla y escribiste el comentario de CP como mencionaste anteriormente. Ese es el problema. Ahora estás en el servidor, así que cuando
1
No creo que la masilla sola pueda hacer el trabajo. WinSCP es una buena herramienta GUI para la copia segura de archivos, Putty funciona muy bien para el trabajo también usando la herramienta de línea de comando llamada pscp.
Tuve el problema de usar pscp para copiar un archivo a través de un servidor intermedio. Esta pregunta fue la base de mi resolución. Las instrucciones completas para llevar esta pregunta al siguiente paso están aquí superuser.com/q/577663/57649
Scott

Respuestas:

13

¿Has probado algo como

pscp -l user1 c:\ftp\picture.jpg slacker1:/home/user1/pics

El manual de Putty sugiere

Para enviar (a) archivos a un servidor remoto:

pscp [options] source [source...] [user@]host:target

Entonces, para copiar el archivo local c:\documents\foo.txten el servidor example.comcomo usuario fred en el archivo /tmp/foo, escriba:

pscp c:\documents\foo.txt [email protected]:/tmp/foo


Posdata

La página de descarga de Putty le permite descargar putty.zip: un conjunto completo de herramientas de Putty o simplemente puede descargar las herramientas que necesita (en cuyo caso es posible que haya descargado putty.exe pero aún no haya descargado pscp.exe)

RedGrittyBrick
fuente
1
Tengo masilla instalada. Parece que no tengo pscp disponible ya sea dentro de la masilla o dentro de mi shell local. ¿Podrías arrojar un poco más de luz? ¿De dónde ejecutas pscp? Saludos
JonnyRaa 01 de
1
@ JonnyLeeds: lo ejecuto en un símbolo del sistema de Windows (cmd) desde el directorio de instalación de Putty, por ejemplo, C:\Program Files (x86)\PuTTY\pscp.exeen mi caso. Puede poner la ruta completa entre comillas dobles (debido a los espacios en ella) o agregar el directorio a su% PATH% (vea otras respuestas aquí para saber cómo hacerlo).
RedGrittyBrick
1
Hola, gracias por la respuesta, pero todo lo que tengo en mi carpeta de masilla es putty.exe, puttygen.exe y un archivo
ppk
1
@ JonnyLeeds: puede descargar solo pscp.exe desde chiark.greenend.org.uk/~sgtatham/putty/download.html o descargar un archivo putty.zip que contiene un conjunto completo y consistente de la última versión de las herramientas Putty y reemplazar el conjunto escaso que tienes.
RedGrittyBrick
Gran respuesta. Un dato más: a menudo puedes usar un punto después de los dos puntos de la ubicación remota si no sabes a dónde quieres que vaya el archivo. Por ejemplo: pscp -l nombre de usuario C: \ dir \ file.txt servidor :.
TOOGAM
6

Una solución que no usa PuTTY: conéctese al servidor con FileZilla usando SFTP para transferir archivos.

Trindaz
fuente
5

No hay forma de iniciar una transferencia de archivos a / desde Windows local desde una sesión SSH abierta en la ventana PuTTY.

Aunque las versiones recientes de PuTTY admiten el uso compartido de conexiones.

Si bien aún necesita ejecutar un cliente de transferencia de archivos compatible (the pscpo the 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, en cualquier momento puede abrir un terminal SSH en el mismo sitio utilizando el comando Abrir en PuTTY .

Ver sesión de apertura en PuTTY .

Con una configuración adicional, incluso puede hacer que PuTTY navegue automáticamente al mismo directorio en el que está navegando con WinSCP.

Vea Abrir PuTTY en el mismo directorio .

(Soy el autor de WinSCP)

Martin Prikryl
fuente
0

No pude encontrar pscp como se sugirió anteriormente y terminé usando WinScp.

Es un programa del lado del cliente con una GUI que recoge sus configuraciones de masilla.

JonnyRaa
fuente
chiark.greenend.org.uk/~sgtatham/putty/download.html ofrece pscp.exe y el archivo psftp.exe similar. El the.earth.li/~sgtatham/putty/latest/x86/... (para la versión 0.63, que es la versión más reciente en el momento de escribir estas líneas) puede ser más simple para las personas que prefieren que no se pise a través de un proceso de instalación fácil de usar una GUI, mientras que el archivo putty.zip también contiene putty.exe y pscp.exe y psftp.exe
TOOGAM
0
  1. En PSFTP, abra la carpeta en la que desea colocar el archivo.
    Ej. nombre de archivo de cd
  2. En la línea de comando, escriba: lcd pathtofolder
    Ej. lcd C: \ Users \ Lyn \ Pictures
  3. Haga clic en Intro y escriba: poner nombre de archivo
    Ej. poner lynhw1.pdf
  4. Haga clic en Intro y el archivo debe transferirse.

Espero que funcione para ti como lo hace para mí.
Nota: Hice esto en PSFTP usando Putty.

"PSFTP, el cliente PuTTY SFTP, es una herramienta para transferir archivos de forma segura entre computadoras utilizando una conexión SSH" - http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

Descargue PSFTP en la página web http://www.putty.org/ . Bajo descargar masilla aquí.

Lyn
fuente
-2

Si desea automatizar este tipo de transferencia de archivos a través de .bat:

@echo off

set pw=foobemcfoobar

set inp=input.lst

for /F "tokens=*" %%i in (%inp%) do (

echo %%i

echo y | C:\tmp\pscp.exe -C -agent -pw "%pw%" C:\tmp\files\foo.txt root@%%i:/tmp/

echo "=== Accepting SSH, copying ...==="

 )

(donde input.lsthay un archivo de texto con los objetivos enumerados)

Nin Kan
fuente
Aunque quizás sea relevante para el tema , esto no responde la pregunta.
Digo reinstalar Mónica
Tampoco sugiera a las personas que acepten ciegamente una clave de host usando echo y. Pierdes seguridad al hacerlo.
Martin Prikryl
Mhh estuvo de acuerdo, el "echo y" es un problema de seguridad. En cuanto a la relevancia, acabo de llevar esa copia del archivo pensé un paso más allá porque una vez estuve en esa situación
Nin Kan