¿Puedo transferir archivos usando SSH?


32

Estoy usando PuTTY en Windows 7 para SSH en el laboratorio de computación de mi escuela. ¿Puedo transferir archivos de mi máquina Windows a mi usuario en las máquinas de la escuela usando SSH?


Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de Windows, no de Unix.
dr01

@ dr01 es cierto, pero tiene muchos votos positivos, por lo que probablemente valga la pena irse a la posteridad y seguir adelante.
roaima

Respuestas:


41

Use la herramienta PSCP de la página de descarga de masilla:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCP es la versión de masilla de scp que es un comando cp (copy) sobre ssh.

PSCP debe instalarse en su computadora con Windows (recién descargado, realmente, no hay proceso de instalación. En la sección de Archivos Empaquetados, pscp.exe ya está incluido). No es necesario instalar nada en los servidores de la escuela. PSCP y scp usan ssh para conectarse.

Para responder la pregunta de uso de los comentarios:

Para cargar desde su computadora a un servidor remoto:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

Esto cargará el archivo file.txt en el directorio especificado en el servidor. Si la parte final de la ruta de destino NO es un directorio, será el nuevo nombre de archivo. También puede hacer esto para cargar el archivo con un nombre diferente:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

Para descargar un archivo de un servidor remoto a su computadora:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

o

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

o

c:\pscp user@remote:\home\user\some\file.txt .

Con un punto solitario al final allí. Esto descargará el archivo especificado al directorio actual.

Dado que el comentario está demasiado lejos, también debo señalar aquí que WinSCP existe proporcionando una GUI para todo esto, si eso es de interés: http://winscp.net/eng/download.php


No puedo instalar nada en las computadoras de la universidad, por supuesto. ¿Realmente necesito?
Alex Mohr

¿La máquina Windows 7 es suya o de sus escuelas? Leí la pregunta para sugerir que estás usando masilla en tu computadora para conectarte a la escuela. Si ese es el caso, entonces no necesita instalar nada en la computadora de la escuela, pero deberá hacerlo en la suya.
SuperMagic

Estoy usando mi máquina Windows 7. ¡Gracias! Encontré el comando wget y utilicé dropbox para transferir el archivo, pero lo tendré en cuenta con seguridad
Alex Mohr el

Una cosa más: scp funciona en ambos sentidos. Puede cargar y descargar con él.
SuperMagic

Tengo algunos problemas con la sintaxis del comando. Es pscp source "path_to_local_file" user@host:path_to_new_location:? Lo hice funcionar dejando en blanco la ruta en la máquina remota, simplemente la puse en mi directorio raíz.
Alex Mohr

6

Puede que tenga que usar barras diagonales (/) para hablar con los servidores LINUX / UNIX

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path

3

Puede simplemente agrupar muchos archivos con tar:

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

... que comprimiría y transmitiría de forma recursiva todos los archivos del directorio actual en la máquina local a la ruta de destino mientras que al mismo tiempo descomprime y expande la transmisión en la máquina remota.

Puede hacer cosas similares para cualquier cosa que escriba en stdout. cates una elección obvia:

cat ./localfile | ssh user@remote 'cat >./remotefile'

1
Excelente. Cómo hacerlo en Windows
Joe

@ Joe: ¿de la misma manera? Tal vez <./localfile putty user@remote 'cat >./remotefile', olvidé todos los interruptores de masilla. Pero está bastante cerca
mikeserv

1
La versión de Windows / PuTTY sería: escriba localfile | plink user @ remote "cat> remotefile"
Adam Haun

2

Puede usar WinSCP para esto. Es mucho más fácil que las otras herramientas enumeradas, proporciona una interfaz de usuario simple de arrastrar y soltar.


No está claro qué relación tiene esto con la pregunta formulada. A menos que sea solo el nombre de un programa cliente, y el resto es basura.
Tom Hunt

Tal vez la pregunta cambió con el tiempo, pero esta es la respuesta que estaba buscando: este es un programa con una interfaz gráfica de usuario que puede explorar y transferir archivos a través de ssh. Incluso importa configuraciones de Putty. Muy práctico en mi humilde opinión, simplemente no recordaba su nombre, gracias
Emile Vrijdags

2

puedes usar el comando de Windows PowerShell:

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-P El indicador se puede omitir si se abre ssh en el puerto predeterminado (22)

p.ej:

  • copiando el archivo "ps.key" del host de Windows a través de ssh
  • la dirección de destino es 192.168.88.242, ssh funciona en el puerto 1688
  • el nombre de usuario objetivo es "nick"

mando:

scp -P 1688 "D:\MEGA\ps.key" nick@192.168.88.242:/home/nick/ps.key

Después de esto, debe confirmar la huella digital de la clave de destino (si no se ha conectado a este host a través de PowerShell antes) y escribir la contraseña del usuario de destino.

probado en win10, no requirió ninguna instalación adicional


Eso no se parece a un comando Powershell. ¿Estás seguro de que no es scpde la suite PuTTY?
roaima

@roaima OpenSSH ha estado disponible como una parte opcional pero integrada de Windows 10 desde la actualización de Fall Creator (finales de 2017) y se ha instalado de forma predeterminada desde la actualización de abril de 2018. El scpcomando está incluido.
Bob Sammers

1
@BobSammers oh, así es. (El mío está enmascarado por una instalación de Cygwin). Sin embargo, no es Powershell, en ningún sentido unificado. Línea de comandos ciertamente, pero no Powershell.
roaima

En realidad, esta es la solución más fácil, acabo de probar con PShell en mi Windows y abre un SSH en RHEL, pide contraseña, copia el archivo y cierra. ¡Y funciona!
Raffaeu

0

Use la herramienta Beyond Compare si no es un gurú de la línea de comandos. Beyond Compare es una herramienta de comparación de carpetas y tiene una interfaz de usuario agradable y le permite usar archivos de clave privada SFTP y SSH para diferentes entornos en los que intenta iniciar sesión. Aquí está el enlace a la herramienta [ https://www.scootersoftware.com/font>[1]


0

Ya que estás familiarizado con la masilla. Le sugiero que eche un vistazo a https://mobaxterm.mobatek.net/ . MobaXterm tiene todo lo que necesita para trabajar a distancia en Linux desde una computadora con Windows, ssh, sftp, scp, Xwindows están incluidos. Es mucho mejor que la masilla, en mi opinión.


¿Es también gratuito (sin cargo) para uso no personal; por ejemplo, a SSH a un laboratorio de computación de la escuela (como en la pregunta)?
Pierre.Vriens

sí. MobaXterm es gratuito incluso para uso comercial a menos que necesite guardar más de 10 sesiones. Soy un desarrollador de software, y la versión gratuita funciona perfectamente para mi trabajo. Para el trabajo escolar, solo adelante.
Cen R.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.