SCP Linux: Transfiere archivos de forma segura entre servidores

SCP Linux: Transfiere archivos de forma segura entre servidores

En el mundo del desarrollo web, la transferencia de archivos entre servidores es una tarea común. Ya sea que necesites subir una imagen de un donut a tu sitio web o descargar el logotipo de un proyecto, la seguridad y la eficiencia son cruciales. En este contexto, SCP Linux se convierte en una herramienta invaluable.

SCP (Secure Copy) es un comando de línea de comandos que te permite transferir archivos de forma segura entre dos máquinas que se ejecutan en la red. A diferencia del protocolo FTP, SCP utiliza SSH (Secure Shell) para encriptar la conexión, protegiendo tus archivos de miradas indiscretas.

Cómo usar SCP Linux

La sintaxis básica de SCP es:

bash
scp [opciones] [origen] [destino]

  • [opciones] – Define cómo se debe realizar la transferencia.
  • [origen] – Especifica el archivo o directorio a transferir.
  • [destino] – Define la ubicación de destino del archivo o directorio.

Ejemplos:

  • Subir un archivo a un servidor:

    bash
    scp donut.jpg usuario@servidor:/var/www/html/images/

    Este comando copia el archivo «donut.jpg» desde tu máquina local al directorio «/var/www/html/images/» en el servidor «servidor» usando el usuario «usuario».

  • Descargar un archivo desde un servidor:

    bash
    scp usuario@servidor:/var/www/html/images/logo.png .

    Este comando descarga el archivo «logo.png» desde el directorio «/var/www/html/images/» en el servidor «servidor» usando el usuario «usuario» a la ubicación actual en tu máquina local (representado por el punto «.»).

Opciones de SCP

SCP ofrece una variedad de opciones para personalizar la transferencia:

  • -r: Transfiere recursivamente todos los archivos y subdirectorios dentro de un directorio.
  • -i: Especifica la ruta a la clave privada SSH para autenticación.
  • -P: Define el puerto SSH al que conectarse.
  • -v: Muestra información detallada del proceso de transferencia.
LEER:  SSD para Linux: Instala y configura tu disco de forma sencilla

Ejemplo práctico: Subir una imagen y descargar un logotipo

Imagina que tienes una imagen de un donut («donut.jpg») que deseas subir a tu sitio web, que se encuentra en un servidor con la dirección IP «192.168.1.100». Además, necesitas descargar el logotipo del sitio web («logo.png»).

Subir la imagen:

bash
scp donut.jpg usuario@192.168.1.100:/var/www/html/images/

Descargar el logotipo:

bash
scp usuario@192.168.1.100:/var/www/html/images/logo.png .

Usar claves SSH para mayor seguridad

Para evitar tener que escribir tu contraseña cada vez que te conectes, puedes usar claves SSH. Esto te permite acceder a los servidores sin necesidad de ingresar la contraseña.

Para usar claves SSH, primero debes generar un par de claves (pública y privada) usando el comando ssh-keygen. Luego, debes agregar la clave pública al servidor al que te conectas.

Agregar la clave pública al servidor:

bash
ssh-copy-id usuario@servidor

Una vez que hayas agregado la clave pública al servidor, puedes usar la opción -i de SCP para especificar la clave privada:

bash
scp -i ~/.ssh/id_rsa donut.jpg usuario@servidor:/var/www/html/images/

Utilizando Screen para facilitar la transferencia

Si necesitas transferir una gran cantidad de archivos o archivos de gran tamaño, el proceso puede tardar un tiempo considerable. En este caso, puedes usar Screen, una herramienta que te permite mantener una sesión SSH activa en segundo plano, incluso si cierras la conexión.

Para iniciar una sesión de Screen:

bash
screen

Para salir de una sesión de Screen:

bash
exit

Para acceder a una sesión de Screen existente:

bash
screen -r

Una vez que tengas una sesión de Screen activa, puedes ejecutar el comando SCP y dejarlo funcionando en segundo plano. Incluso si cierras tu conexión, la transferencia de archivos continuará.

LEER:  MySQL List Users: Cómo ver y gestionar usuarios en tu base de datos

Ventajas de usar SCP Linux

  • Seguridad: SCP utiliza SSH para encriptar la conexión, asegurando que tus archivos estén protegidos durante la transferencia.
  • Velocidad: SCP es generalmente más rápido que FTP, especialmente para transferencias de archivos grandes.
  • Versatilidad: SCP es una herramienta versátil que se puede usar para transferir archivos entre diferentes sistemas operativos.
  • Integración con SSH: SCP se integra perfectamente con SSH, lo que facilita la autenticación y la gestión de permisos.

Conclusión

SCP es una herramienta esencial para cualquier usuario de Linux que necesita transferir archivos de forma segura y eficiente. Ya sea para subir archivos a un sitio web o descargar archivos desde un servidor, SCP proporciona una solución confiable y sencilla.