¿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

Respuestas:


29

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

scp username@remote.host:/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.


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 jeff@firsthost.com:/files/file1.zip brad@secondhost.com:/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.


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.


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

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.