¿Cómo descargar un archivo del servidor usando SSH? [cerrado]


749

Necesito descargar un archivo del servidor a mi escritorio. (UBUNTU 10.04) No tengo acceso web al servidor, solo ssh.

Si ayuda, mi sistema operativo es Mac OS X e iTerm 2 como terminal.



51
¿Por qué está fuera de tema?
jsmedmar

44
porque no es una pregunta de programación
Black

26
@EdwardBlack podría haberse migrado a unix.stackexchange en su lugar
gldraphael

3
Esto funcionó para mísudo scp -i ~/.ssh/id_rsa username@remotehost.io:Downloads/filename.sql ~/Desktop
kaxi1993

Respuestas:


1166

En su terminal, escriba:

scp your_username@remotehost.edu:foobar.txt /local/dir

reemplazando el nombre de usuario, el host, el nombre de archivo remoto y el directorio local según corresponda.

Si desea acceder a EC2 (u otro servicio que requiera autenticación con una clave privada), use la -iopción:

scp -i key_file.pem your_username@remotehost.edu:/remote/dir/foobar.txt /local/dir

De: http://www.hypexr.org/linux_scp_help.php


3
No estoy familiarizado con Amazon EC2, pero si tiene acceso SSH a su servidor, debería funcionar.
Josh1billion

3
Creo que hay una falta /entre your_username@remotehost.edu:y foobar.txten el ejemplo anterior.
Eugene S

13
@NiLL scp -i xxx.pem your_username@remotehost.edu: foobar.txt / some / local / directory
Helin Wang

3
@Alex agrega la opción -r.
SgtPooki

10
Información útil: no me di cuenta de que ejecuta esto desde su máquina local y no desde el lugar desde el que desea descargar. así que como Horak preguntaba, ~ / lo volcará en su directorio de usuario como / Users / admin / - Estaba conectado a ssh de forma remota y me preguntaba por qué no estaba funcionando.
Kai Qing el

322

Puedes hacer esto con el scpcomando. scpusa el protocolo SSH para copiar archivos en todo el sistema extendiendo la sintaxis de cp.

Copie algo de otro sistema a este sistema:

scp username@hostname:/path/to/remote/file /path/to/local/file

Copie algo de este sistema a otro sistema:

scp /path/to/local/file username@hostname:/path/to/remote/file          

Copie algo de un sistema a otro sistema:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file   

55
Me gusta cómo si uno quisiera lograr la pregunta de OP y no leyera completamente su respuesta, podría accidentalmente y sin pensar simplemente ejecutar su primer comando y posiblemente sobrescribir el archivo remoto que están tratando de descargar con el archivo local que pudieron haber tocado anteriormente. ¡Uy!
Mr Purple

¿Por qué hay accesos para? ¿Alguien puede hacer "rm -rf /" sin pensar pero eso no reduce la utilidad del comando rm?
raj_gt1

1
¿Crees que comenzar una respuesta a "¿cómo debo actualizar Linux?" con el comando "rm -rf /" también sería una buena idea?
Mr Purple

2
@ MrPurple - Gracias por la advertencia, casi hice exactamente eso. Edité la pregunta para mostrar primero el comando más relevante
Sphinxxx el

96

scp es ciertamente el camino a seguir, pero para completar también puede hacer:

$ ssh host 'cat /path/on/remote' > /path/on/local

o

$ cat /path/on/local | ssh host 'cat > /path/on/remote'

Tenga en cuenta que esto es UUOC, pero < /path/on/local ssh host 'cat > /path'podría causar confusión innecesaria.

Y para proxy entre dos hosts:

$ ssh host1 'cat /path/on/host1' | ssh host2 'cat > /path/on/host2'


55
¿Alguien ha hecho una prueba de velocidad en los diferentes métodos? Me gustaría saber cuál es el más rápido. Caso de uso: tengo un archivo enorme para descargar.
starbeamrainbowlabs

Esto realmente funciona con .ssh / config, mientras que scp no parece seguir la configuración ssh

13

Si el servidor SSH admite el subsistema SFTP (esto es parte de SSH y no está relacionado con FTP), use sftp. Si no es así, intente scp.

CyberDuck los admite a todos.


2
Descargar desde su sitio web, cyberduck.ch/Cyberduck-4.2.1.zip
J-16 SDiZ

Parece que desde entonces han cambiado el software para que sea gratuito, pero opcionalmente puede donar cualquier cantidad y eso eliminará un "aviso de donación" dentro del programa.
Mike

12
Esto no responde la pregunta.
edwinj

1
Lo hace, es bastante fácil de descargar usando SFTP de Cyberduck
Miguel Stevens

FileZilla funciona muy bien para mí, y es gratuito y de código abierto (y está hecho por los mismos tipos que hacen Firefox). al igual que Cygwin.
hanshenrik
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.