¿Cómo descargar un archivo desde la línea de comandos? a través de ssh?

21

Quiero descargar archivos de un servidor remoto a mi unidad local y hacerlo desde la línea de comandos. También quiero poder hacer esto a través de SSH. ¿Cómo puedo hacer esto?

Nota: el servidor remoto es Ubuntu, el local es Mac OS X

Andrés
fuente

Respuestas:

29

Use scp-command, se ejecuta sobre SSH. Ejemplo:

scp [email protected]:/path/to/file localfile

También funciona de otra manera

scp localfile username@host:/path/remotefile

El nombre de usuario, la ruta y el nombre de archivo se pueden omitir (¡pero no :!).

Como dijo Iain, SFTP también funciona, pero tiendo a favorecer scpsu cpuso similar.

Ahe
fuente
Menos común, estoy seguro, y corrígeme si me equivoco, pero creo que scp también funciona de remoto a remoto, si realmente necesitas: scp username@remote1:/path/to/file username@remote2:/path/to/file
JMD
puedes copiar directorios?
Andrew
lo descubrí ... -r copia recursivamente directorios también
Andrew
Recomiendo agregar la -popción al copiar archivos o carpetas con scp. También copia sobre los atributos del archivo (marcas de tiempo y marcas). ¡Encuentro que quiero -pmás de lo que no quiero!
joeytwiddle
También puede enrutar de remoto a remoto a través del localhost usando el -3indicador: scp -3 [email protected]:/files/file1.zip [email protected]:/archivesEsto es útil si necesita usar una clave privada para acceder a ambos servidores que solo se encuentran en localhost: scp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/la barra de progreso está desactivada para -3
Dan Sandland
3

También puedes usarlo rsync. Puede funcionar sobre SSH.

osgx
fuente
rsync -avvPes mi favorito para archivos y / o carpetas, pero hay un inconveniente: debe instalarse en la máquina remota.
joeytwiddle
Si tiene problemas para conectarse, es posible que deba pasar -e sshpara indicarle a rsync que se conecte a través de ssh.
joeytwiddle
3

Yo uso SFTP para esto. Es la línea de comando y usa la misma seguridad que SSH.

Iain
fuente
1

Si no puede usar scpo SFTP, puede usar tarsobre SSH:

tar cf - . | ssh otherhost "cd /mydir; tar xvf -"

Este también es bueno si tiene archivos dispersos que de lo contrario "explotarán".

Jimmy Hedman
fuente