abril 3

Uso profesional del comando SCP (Secure Copy Protocol)

SCP (Secure Copy Protocol) es una herramienta de línea de comandos basada en SSH que permite transferir archivos de forma segura entre equipos locales y servidores remotos. Es una opción muy utilizada por administradores de sistemas y desarrolladores para subir copias de seguridad, desplegar código o descargar registros de diagnóstico sin necesidad de interfaces gráficas.

La sintaxis general del comando es:

scp [opciones] origen destino

En este esquema, origen y destino pueden ser rutas locales o remotas, utilizando el formato usuario@host:/ruta/remota.

Elementos clave del comando SCP

Antes de ver ejemplos prácticos, conviene entender los componentes básicos que intervienen en cualquier transferencia con SCP:

  • Usuario: cuenta con la que accedes al servidor remoto (por ejemplo, root, deploy, mario).
  • Host: dirección IP o nombre de dominio del servidor (192.168.1.10, servidor.midominio.com, etc.).
  • Archivo origen: ruta del archivo que deseas copiar, ya sea en local o en remoto.
  • Directorio origen: carpeta completa que quieres transferir de forma recursiva.
  • Directorio destino: ruta donde se almacenará la copia, en local o en remoto.

Un ejemplo genérico sería:

scp archivo_origen usuario@host:/ruta/destino

Copiar archivos de local a servidor

Para subir un archivo desde tu ordenador a un servidor remoto, primero se indica el archivo local y después el destino remoto:

scp archivo.txt usuario@dominio.com:/home/usuario

En este caso, archivo.txt se copia desde el equipo local a la carpeta /home/usuario del servidor dominio.com utilizando la cuenta usuario. Tras ejecutar el comando, se solicitará la contraseña SSH (si no utilizas claves) y verás el progreso de la transferencia.

Copiar archivos de servidor a local

Para descargar archivos desde el servidor hacia tu máquina, se invierte el orden: primero la ruta remota y después la ruta local de destino:

scp usuario@dominio.com:/home/usuario/archivo.txt ~/Documentos

Con este comando, archivo.txt se copia desde el servidor a la carpeta Documentos de tu usuario local. Si prefieres guardarlo en el directorio actual, puedes utilizar un punto como destino:

scp usuario@dominio.com:/home/usuario/archivo.txt .

Copiar archivos entre dos servidores

Una de las ventajas de SCP es que permite copiar directamente de un servidor remoto a otro, sin pasar por tu equipo local:

scp usuario1@dominio1.com:/home/usuario1/archivo.txt \
    usuario2@dominio2.com:/home/usuario2/

Este comando lanza la transferencia entre dominio1.com y dominio2.com, autenticándose con los usuarios indicados en cada extremo. Es una solución muy práctica para mover copias de seguridad o migrar contenido entre servidores.

Copiar un directorio completo

Si necesitas copiar carpetas completas con todos sus archivos y subdirectorios, debes usar la opción -r (recursivo):

scp -r /home/mario/carpeta usuario@dominio.com:/home/usuario

Así, el directorio /home/mario/carpeta se transfiere íntegramente al servidor remoto, conservando su estructura interna. Del mismo modo, puedes utilizar -r en sentido inverso para descargar directorios remotos a tu equipo local.

Limitar el ancho de banda y otras opciones útiles

En entornos de producción puede ser interesante controlar el impacto de las transferencias en la red o en el servidor. SCP ofrece varias opciones adicionales para afinar su comportamiento:

  • -P puerto: especifica un puerto SSH distinto del 22 (por ejemplo, servidores endurecidos o con configuración personalizada).
scp -P 2222 archivo.txt usuario@dominio.com:/home/usuario
  • -l límite: limita el ancho de banda en Kbit/s para evitar saturar la conexión o el servidor.
scp -l 8000 usuario@dominio.com:/home/usuario/archivo.txt ~/Documentos
  • -C: habilita la compresión durante la transferencia, útil para archivos de texto o datos muy repetitivos.
  • -v: modo detallado, muestra información de depuración útil para resolver problemas de conexión.
  • -q: modo silencioso, reduce la salida del comando a lo mínimo imprescindible.

Buenas prácticas de seguridad al usar SCP

Como SCP se apoya en SSH, la seguridad de las transferencias depende en gran medida de la configuración del servicio SSH en el servidor. Algunas recomendaciones básicas son:

  • Utilizar autenticación mediante claves SSH en lugar de contraseñas siempre que sea posible.
  • Evitar el acceso directo como root y trabajar con un usuario con permisos de sudo.
  • Restringir el acceso SSH mediante firewall y, si procede, listas de direcciones IP autorizadas.
  • Mantener actualizado el servidor y revisar periódicamente los registros de acceso.

Aplicando estas buenas prácticas y dominando la sintaxis básica, el comando SCP se convierte en una herramienta robusta, segura y muy eficiente para gestionar transferencias de archivos entre equipos locales y servidores Linux.



Copyright 2020. www.garcalia.com

Publicado 3 de abril de 2019 por Titogus in category "Sin categoría