scp: Traslado Seguro de Archivos entre Máquinas con SSH

El comando scp (Secure CoPy) es una herramienta imprescindible para aquellos que buscan transferir archivos de forma segura entre máquinas. Aunque existen muchas opciones para enviar y recibir archivos, scp se destaca por su simplicidad y su integración con SSH, garantizando que la data transferida esté protegida. En este artículo, te guiaremos por el universo de scp, con un enfoque especial en sistemas Ubuntu y Debian, y te mostraremos cómo puede hacer tu vida más sencilla y segura.

Entendiendo scp: Bases y Funcionamiento

Antes de sumergirnos en la práctica, es esencial entender qué es scp y cómo funciona a nivel básico.

¿Qué es scp y por qué es tan útil?

scp es una herramienta que permite la transferencia de archivos entre máquinas de una red, y lo hace utilizando el protocolo SSH. Esto significa que, al igual que cuando te conectas a una máquina con SSH, la transferencia de archivos con scp es segura y cifrada, protegiendo tu data de posibles interceptaciones.

Anatomía de un comando scp

Un comando scp típico tiene la siguiente estructura:

$ scp [opciones] [origen] [destino]

El origen y el destino pueden ser rutas locales o una combinación de nombre de usuario, dirección del servidor y ruta en el servidor. Por ejemplo:

$ scp archivo.txt usuario@servidor:/ruta/destino/

Usando scp: Ejemplos Prácticos

Saber cómo se estructura el comando es solo el comienzo. Veamos algunos ejemplos prácticos y comunes para que puedas sacarle el máximo partido a scp.

Copiando archivos de tu máquina a un servidor remoto

Para enviar un archivo desde tu máquina local a un servidor remoto:

$ scp /ruta/local/del/archivo usuario@servidor:/ruta/destino/en/servidor

Copiando archivos desde un servidor remoto a tu máquina

El proceso inverso es igualmente sencillo:

$ scp usuario@servidor:/ruta/en/servidor/del/archivo /ruta/local/destino/

Transferir archivos entre dos servidores remotos

Sí, scp también te permite hacer esto:

$ scp usuario1@servidor1:/ruta/origen/ usuario2@servidor2:/ruta/destino/

Consejos y Trucos Avanzados con scp

A medida que te familiarices con scp, querrás conocer algunas opciones avanzadas que pueden hacer tus transferencias más eficientes y versátiles.

Especificar un puerto SSH

Si tu servidor SSH no usa el puerto estándar (22), puedes especificarlo con la opción -P:

$ scp -P 2222 archivo.txt usuario@servidor:/ruta/destino/

Preservar propiedades de archivos

Si deseas mantener las propiedades (como fechas de modificación) de los archivos transferidos, usa la opción -p:

$ scp -p archivo.txt usuario@servidor:/ruta/destino/

Modo Recursivo

Para copiar directorios enteros, utiliza la opción -r:

$ scp -r /ruta/del/directorio/ usuario@servidor:/ruta/destino/