scp

Comando SCP: Transferir archivos entre servidores

DigitalizaciónCategoría
lectura de 7 minuto(s)
Equipo de Contenidos de GoDaddy

El comando SCP (de Secure Copy Protocol) es una herramienta muy importante para usuarios de Linux, especialmente para aquellos que se dedican a administrar sistemas. Este protocolo SCP permite la transferencia segura de archivos y directorios entre sistemas en una misma red, utilizando la autenticación y el cifrado proporcionados por el protocolo SSH.

Tener claro cómo subir archivos a un servidor con SCP, por tanto, es fundamental para mantener la integridad y la confidencialidad de los datos durante su transferencia, algo que resulta básico en entornos profesionales y de seguridad.

transferencia de archivos

Principios básicos de SCP: sintaxis del comando y funcionamiento

El funcionamiento del SCP command se basa en una sintaxis simple pero potente. El comando básico se estructura como ‘scp [opciones] archivo_origen archivo_destino’. Las rutas de origen y destino pueden incluir un nombre de usuario y una dirección IP para indicar sistemas remotos, siguiendo el formato ‘usuario@host:ruta’.

Así, entre las opciones más útiles se encuentran ‘-r’ para copiar directorios de manera recursiva, ‘-p’ para conservar las fechas de modificación y acceso de los archivos, y ‘-C’ para comprimir los datos durante la transferencia.

Esta flexibilidad hace de SCP una herramienta elemental a la hora de transferir archivos de forma eficiente entre servidores locales y remotos.

¿Cuál es la diferencia entre SCP y SFTP?

Aunque SCP y SFTP (SSH File Transfer Protocol) facilitan la transferencia segura de archivos a través de SSH, existen diferencias que son importantes en materia de funcionamiento y uso.

  • SCP, el comando Linux para copiar archivos, es perfecto para transferencias rápidas de archivos y directorios.
  • SFTP ofrece una interfaz similar a los sistemas de archivos, lo que permite realizar operaciones más complicadas, como la manipulación de archivos y directorios. Además, SFTP también tiene la capacidad de reanudar transferencias interrumpidas, lo que lo hace más adecuado para manejar grandes volúmenes de datos o conexiones inestables.

Esto quiere decir que la elección entre SCP y SFTP dependerá de cuáles sean las necesidades específicas de transferencia y gestión de archivos.

Cómo utilizar SCP en Linux

Para usar SCP, tan solo necesitan ejecutar el comando SCP seguido de las opciones necesarias, el archivo de origen y el destino.

Por ejemplo, para copiar un archivo desde su máquina local a un servidor remoto, pueden usar ‘scp archivo_local usuario@servidor_remoto:ruta_destino’. Para facilitar la transferencia, pueden utilizar opciones como ‘-r’ para directorios, ‘-P’ para especificar un puerto SSH no estándar y ‘-v’ para visualizar detalles del proceso​​.

En este ejemplo concreto, les mostramos cómo usar el comando SCP en Debian para una transferencia de archivos efectiva:

  1. Primero, abran la terminal en su sistema Debian.
  2. Usen el formato básico del comando SCP para transferir archivos. Por ejemplo, para copiar un archivo desde su sistema Debian a otro servidor, utilicen ‘scp /ruta/local/archivo usuario@direccion_servidor:/ruta/destino’.

Eso sí, asegúrense de reemplazar ‘/ruta/local/archivo’ con la ruta del archivo que desean transferir, ‘usuario’ con su nombre de usuario en el servidor remoto, ‘direccion_servidor’ con la dirección IP o el nombre de dominio del servidor remoto y ‘/ruta/destino’ con la ubicación en la que desean que quede guardado el archivo en el servidor remoto.

¿Es seguro usar SCP para transferir archivos sensibles?

Sí, SCP es seguro para transferir archivos sensibles porque utiliza el protocolo SSH, que proporciona autenticación y cifrado de datos. Esto asegura que los archivos no puedan ser interceptados o modificados durante la transferencia​.

¿Se pueden transferir varios archivos a la vez con SCP?

Sí, es posible transferir varios archivos de forma simultánea con SCP. Pueden hacerlo incluyendo múltiples nombres de archivo en el comando, separados por espacios, seguidos del destino. Esto es útil para transferir de forma veloz varios archivos a una ubicación específica en un servidor remoto​​.

¿Cómo verificar la integridad de los archivos transferidos con SCP?

Para garantizar que los archivos transferidos mediante SCP no se hayan alterado, pueden comprobar su integridad comparando las sumas de verificación (por ejemplo, SHA o MD5) del archivo fuente y del archivo destino. Esto se puede hacer generando una suma de verificación del archivo en ambos sistemas y comparándolas​.

SCP en entornos Windows (Uso de PSCP (PuTTY SCP))

Para usuarios que necesitan utilizar SCP para Windows, PSCP (parte del conjunto de herramientas PuTTY) ofrece una solución ideal. PSCP funciona de forma muy similar al SCP en Linux, y permite tanto descargar archivos de Linux a Windows como la transferencia segura de archivos entre sistemas Windows y servidores remotos.

  1. Para usarlo, primero necesitan descargar e instalar PuTTY.
  2. Una vez instalado, ejecuten PSCP desde la línea de comandos de Windows usando una sintaxis similar a SCP para especificar archivos de origen y destino, así como opciones adicionales como la transferencia recursiva o la especificación de un puerto SSH​​.

Con esto, tendrán una base sólida para usar SCP y PSCP de forma efectiva en sus actividades diarias de transferencia de archivos.

Cómo subir archivos a una ubicación remota

Si han llegado hasta aquí buscando cómo subir archivos a un servidor remoto desde su máquina local usando SCP, lo primero que deben saber es la dirección IP o el nombre del servidor y sus credenciales de acceso. Con esto, la sintaxis básica del comando SCP en Linux es ‘scp [ruta_local_del_archivo] [usuario]@[servidor]:[ruta_remota]’.

Por ejemplo, si desean subir un archivo llamado ‘documento.txt’ al directorio ‘/home/user/docs’ en un servidor remoto, el comando sería ‘scp documento.txt usuario@192.168.1.1:/home/user/docs’.

Además, si necesitan subir un directorio completo, simplemente añadan la opción ‘-r’ para hacerlo de forma recursiva. Ahora bien, deben asegurarse de tener los permisos necesarios en el servidor remoto para evitar errores de escritura.

Archivo remoto a máquina local

Para descargar archivos desde un servidor remoto a su máquina local, es necesario invertir ligeramente el comando SCP, indicando primero la ubicación del archivo en el servidor, seguido de la ubicación local donde desean guardar el archivo. Por ejemplo: ‘scp usuario@192.168.1.1:/ruta/remota/archivo.txt /ruta/local/’.

Este método requiere que tengan acceso autorizado al servidor remoto y suficiente espacio en su disco local para almacenar los archivos descargados. Utilicen opciones adicionales como ‘-P’ para especificar un puerto SSH si el servidor no utiliza el puerto predeterminado.

Archivo remoto a otra ubicación remota

Transferir archivos de forma directa entre dos servidores remotos también es posible con SCP y es útil para administrar datos entre servidores sin descargarlos a una estación local.  El comando sería ‘scp usuario1@servidor1:/ruta/en/servidor1/archivo.txt usuario2@servidor2:/ruta/en/servidor2/’.

Este método implica que ambos servidores deben estar configurados para permitir el acceso SSH y que tengan las credenciales necesarias para ambos. También pueden utilizar la opción ‘-3’ para forzar que la transferencia se haga a través de su máquina local si los servidores no tienen conectividad directa entre ellos​.​

Pero no todo en la red es transferir archivos, también hay que preocuparse por la seguridad en línea, para lo que el certificado SSL de GoDaddy es un auténtico seguro de vida, o por el hecho de que sus proyectos permanezcan en línea y a máximas velocidad el máximo tiempo posible, algo que garantiza nuestro exclusivo servicio de alojamiento web.

Ahora bien, si se han quedado con ganas de seguir aprendiendo más, no se pierdan nuestro post sobre qué es un comando Curl y cómo sacarle el máximo partido. ¡GoDaddy educa y entretiene!

Products Used

Hosting
Web HostingObtén más información