El comando SCP de Linux permite copiar archivos y carpetas hacia y desde cualquier equipo remoto. Este comando utiliza SSH para las transferencias, por lo que las comunicaciones entre equipos se hace de forma segura. Estos on algunos ejemplos de uso:

  • Para copiar un fichero desde local hacia remoto.
$ scp -p fichero.txt usuario@dominio.com:/tmp

-p  Preserva la fecha y hora de creación/modificación del fichero.
usuario@dominio.com  Un usuario con permisos de escritura en el servidor remoto.
/tmp   Es la carpeta del servidor remoto donde se copiará el fichero.
El comando nos pedirá la contraseña del usuario remoto.

  • Para copiar una carpeta y todo su contenido desde local hacia remoto.
$ scp -pr /tmp/nombrecarpeta usuario@dominio.com:/tmp

-pr  Copia recursivamente directorios completos preservando fechas y horas de creacion/modificacicón.

  • Para descargar un fichero desde remoto hacia una carpeta local.
$ scp -p usuario@dominio.com:/tmp/fichero.txt /tmp
  • Para descargar una carpeta y todo su contenido desde remoto hacia local.
$ scp -pr usuario@dominio.com:/tmp/nombrecarpeta /tmp
  • Podemos incluso copiar un fichero desde un sevidor remoto hacia otro servidor remoto.
$ scp -p usuario1@dominio1.com:/tmp/fichero.txt usuario2@dominio2.com:/tmp

En este caso nos pedirá la contraseña de cada uno de los usuarios remotos por separado.

  • Es posible limitar el ancho de banda para no sobrecargar el servidor o nuestra propia conexión local.
$ scp -p -l 256 usuario@dominio.com:/tmp/fichero.txt /tmp

-l kbps  Indica el límite del ancho de banda que se utilizará (en este caso 256 Kbps)

  • Una opción muy interesante es habilitar la compresión de datos en la transferencia.
$ scp -p -C fichero.txt usuario@dominio.com:/tmp

-C  Pasa el flag -C a SSH para habilitar la compresión

Para más información sobre el comando scp, consultar las páginas del manual (man scp)