¿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.

NiLL
fuente
Pruebe este sftp: winscp.net/eng/download.php
Nishchit Dhanani
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 [email protected]:Downloads/filename.sql ~/Desktop
kaxi1993

Respuestas:

1166

En su terminal, escriba:

scp [email protected]: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 [email protected]:/remote/dir/foobar.txt /local/dir

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

Josh1billion
fuente
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 [email protected]:y foobar.txten el ejemplo anterior.
Eugene S
13
@NiLL scp -i xxx.pem [email protected]: 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   
raj_gt1
fuente
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'
William Pursell
fuente
2
winscp.net/eng/download.php
Nishchit Dhanani
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.

J-16 SDiZ
fuente
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