50% de descuento Todos los planes, tiempo limitado. A partir de $2.48/mo
Quedan 12 minutos
Servidores y SO

SCP de remoto a local: comandos SCP de Linux

Ada Lovegood By Ada Lovegood 12 minutos de lectura
scp de remoto a local

¿Alguna vez quiso transferir algunos archivos a través de una red de computadoras y se enfrentó a desafíos de seguridad? Bueno, no puedes simplemente tirar tus archivos a la red y desear que permanezcan seguros y protegidos, ¡como La Caperucita Roja! Necesitas medidas de seguridad. Debe utilizar un protocolo de transferencia de archivos que garantice que sus datos estén protegidos contra accesos no autorizados, rastreo de redes, filtraciones de datos y otros tipos de amenazas.

El Protocolo de copia segura (SCP) es un potente protocolo de red de transferencia de archivos que transfiere archivos entre diferentes máquinas en una red. En esta publicación de blog, nos familiarizaremos más con este protocolo y exploraremos el potencial del uso de SCP desde máquinas remotas a locales.

¿Cómo funciona el SCP? 

SCP utiliza SSH (Secure Shell) para transferir sus archivos. ¿Pero qué significa esto? SSH es un protocolo de red para el acceso remoto seguro a servidores. Está equipado con métodos para autenticar, cifrar y verificar la integridad de los archivos de datos transmitidos. SCP se basa en estas funciones de seguridad y métodos de cifrado proporcionados por SSH para transferir archivos a través de una red de forma segura. De esta manera, puede utilizar SCP desde servidores remotos a locales para una conexión segura y transferencia de archivos y estar seguro de la autenticidad y confidencialidad de sus datos.

Uso de SCP para transferencias de archivos; ¿Por qué y cómo? 

Usar SCP de remoto a local y SCP de local a remoto es una forma eficiente y flexible de transferir archivos. SCP ofrece algunas ventajas importantes para la transferencia de archivos. Por ejemplo, SCP ofrece medidas de seguridad más sólidas que otros métodos de transferencia de archivos como FTP. Otro aspecto en el que SCP difiere de otros protocolos es la velocidad. SCP suele ser mucho más rápido que otros protocolos como SFTP y es una gran herramienta para la transferencia de archivos entre máquinas Linux.

Puede reubicar archivos con SCP:

  • De una máquina local a una máquina remota
  • De una máquina remota a una máquina local
  • De una máquina remota a otra máquina remota.

Ahora, pasemos al uso de la sintaxis SCP de Linux para la transferencia de archivos. Lo primero que debe hacer es configurar SSH en ambas computadoras. Sin embargo, es importante tener en cuenta que SSH normalmente se instala en todas las máquinas Linux. Entonces, si ese es tu caso, puedes omitir estos pasos.

1. Configurar SSH

Ejecute el siguiente comando para instalar SSH:

sudo apt install openssh-client

2. Generando claves SSH

Luego, el dispositivo cliente debe establecer una conexión SSH. Una conexión segura entre las máquinas cliente y servidor necesita que se establezca una clave privada y una clave pública. Este comando crea un par de claves SSH para usted:

ssh-keygen

Mientras ejecuta este comando, probablemente se le pedirá que proporcione un nombre para el par de claves y una frase de contraseña (esto es opcional). Luego, cuando se crea el par de claves, debe copiar la clave pública en la máquina del servidor.

Ahora, echemos un vistazo a la forma general del comando SCP:

scp [options] [source username@IP]:/[directory/file name] [destination username@IP]:/[directory]
  • [opciones] > Este primer corchete se puede reemplazar con diferentes opciones del comando SCP a las que llegaremos más adelante.
  • [fuente nombre de usuario@IP] > Este corchete debe reemplazarse con el nombre de usuario y la dirección IP de la máquina local. Por ejemplo: raí[email protected]
  • [directorio/nombre de archivo] > Este corchete debe reemplazarse con la ubicación del archivo que desea enviar.
  • [nombre de usuario de destino@IP] > Este corchete debe reemplazarse con el nombre de usuario y la dirección IP de la máquina receptora.
  • [directorio] > Reemplace esta sección con la ubicación deseada de su archivo en la máquina remota.

Ahora ya sabes cómo es el comando general. Veamos todas las opciones útiles del comando SCP:

Opción Caso de uso
-C
Al utilizar esta opción, SCP comprime sus archivos al transferirlos.
-c <cifrado>
Puede usar esta opción para decirle a SCP que use un cifrado específico. Por ejemplo, scp -c <aes128-ctr>.
-v
Esta opción le brinda un flujo del proceso paso a paso.
-l <límite en kilobytes>
Esta opción le permite establecer un límite para el ancho de banda máximo. Por ejemplo, el siguiente ejemplo establece el uso del ancho de banda en 100 kb por segundo: scp -l 100
-P
Al utilizar esta opción, puede cambiar el puerto ssh del servidor remoto al que desea conectarse. SCP utiliza el puerto 22 de forma predeterminada.
-S <nombre del programa>
Puede utilizar esta opción para elegir un programa para la conexión.
-r
Copie un archivo o directorio completo de forma recursiva.

Transferir archivos con SCP 

Entonces recuerdas que tenemos tres tipos de transferencias con SCP, ¿verdad? Ahora queremos explorar cada tipo de transferencia de forma dependiente. Pero definamos la misión antes de empezar. Tengo esta foto de gato en el escritorio de mi computadora con Linux y, en el primer paso, quiero transferirla a un servidor remoto de Linux. Luego lo transferiré nuevamente a mi computadora local. Y por último, el gato afortunado se moverá entre dos máquinas remotas.

transferir una imagen usando scp

SCP de local a remoto 

El uso de este comando transferirá nuestro archivo desde una computadora local a un servidor remoto:

scp [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Para utilizar el comando scp con contraseña, debe ingresar la contraseña de su servidor remoto. Y luego ya está.

Usando SCP para transferir archivos de local a remoto

SCP de remoto a local

Para revertir este proceso, no necesita acceder a la terminal de su servidor remoto. En la terminal de su computadora local, escriba este comando:

scp [username]@[IP address of the remote machine]:[path/to/the/file] [path/to/the/location]

Como puede ver, acabamos de invertir las dos partes de este comando.

Usando SCP para transferir archivos de remoto a local

SCP entre dos máquinas remotas

Ahora, transfiramos el gato entre dos máquinas remotas. Este paso requiere la contraseña de ambas máquinas remotas, así que asegúrese de tenerlas. Utilice este comando para transferir un archivo entre dos computadoras remotas:

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

usando scp para transferir archivos entre dos sistemas remotos

Otros comandos comunes de SCP

Los comandos SCP más comunes son scp de remoto a local, scp de local a remoto y SCP entre dos hosts remotos. Pero no nos detengamos ahí y exploremos algún otro ejemplo útil de scp de Linux.

1. Copiar un directorio completo de forma recursiva

Imagina que quieres transferir un directorio completo con todos los archivos que contiene. Transferir esos archivos uno por uno llevaría mucho tiempo. En su lugar, puede utilizar el comando scp multiple files para copiar un directorio de forma recursiva:

scp -r [Path/to/directory] [username of the remote server]@[Ip address]:/[path/to/the/location]

Esto puede resultar útil para muchos escenarios:

  • Implementación de código: Cuando implementa código o aplicaciones web, es posible que necesite transferir un directorio completo con todos sus componentes, como archivos y scripts.
  • Copia de seguridad y sincronización: SI desea tener una copia de seguridad de un directorio completo o si desea sincronizar dos directorios en la máquina local y el servidor remoto, debe copiar todo de forma recursiva.
  • Migración del sistema: Una tarea crucial en la migración del sistema es copiar y transferir cada pieza de información vital. El uso del comando SCP con la opción -r asegurará que no se pierda nada en su proceso de mudanza.

2. Limitar el uso del ancho de banda

Si desea controlar la velocidad a la que se transfieren sus datos, puede utilizar el siguiente comando:

scp -l <limit> [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

¿Por qué harías eso?
En estos dos escenarios, puede utilizar la sintaxis scp de Linux para establecer un límite en el ancho de banda:

  • Congestión de la red: Si su red está muy congestionada, limitar el ancho de banda con scp puede ayudar con la distribución de los recursos de la red. Limitar el ancho de banda con SCP garantiza que otras tareas relacionadas con la red se ejecuten sin problemas. Esto también es importante al transferir archivos a través de una red compartida, y su proceso puede obstaculizar las actividades de red de otros usuarios.
  • Transferencias de antecedentes: Durante las transferencias de SCP en segundo plano, como copias de seguridad automatizadas o procesos de sincronización, existe la posibilidad de que estas tareas devoren los recursos de su red. En este caso, puedes limitar el ancho de banda en estos procesos de transferencia para gestionar mejor los recursos.

3. Obtener un registro detallado

El uso de la opción -v con SCP le brindará un registro detallado de información adicional sobre el proceso de transferencia. Puede utilizar el siguiente comando para obtener información y comentarios detallados:

scp -v [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

He aquí por qué es necesario recordar y utilizar este comando:

  • Solución de problemas: El uso de esta opción le muestra el progreso de la transferencia en acción. Puede ver información como el tamaño del archivo y el porcentaje de finalización. También le brinda mensajes de error y advertencias. La combinación de estos datos le permite monitorear y solucionar problemas del proceso de transferencia cuando sea necesario.

4. Especificación de un puerto SSH

El uso de la sintaxis scp de Linux con la opción -P le permite cambiar el puerto SSH. Aquí está el comando que te permite hacer eso:

scp -P [port number] [path/to/the/file] [Username]@[IP address]:[path/to/the/location]

Esto puede ser útil para:

  • Configuración del cortafuegos: Si el puerto SSH predeterminado está restringido o si desea ocultar el servicio SSH de posibles amenazas, puede cambiar el puerto SSH.

¿Existen alternativas al SCP?

SCP es rápido y seguro y, si conoce la sintaxis scp de Linux correcta y algunos conocimientos sobre resolución de problemas, puede ser la única herramienta que necesita. Sin embargo, no hay nada de malo en revisar sus alternativas.

1.rsync

rsync es una herramienta de transferencia de archivos versátil con capacidades avanzadas de sincronización, transferencias incrementales y copia remota y local. También puede reducir el uso de ancho de banda transfiriendo únicamente las diferencias entre los archivos de origen y de destino. Otra gran ventaja de usar rsync es que puede retomar transferencias de archivos interrumpidas desde donde se quedaron y continuar el proceso.

Ventajas de rsync

  • Sincronización eficiente de archivos y directorios.
  • Admite el algoritmo de transferencia delta, lo que reduce la transferencia de datos.
  • Puede reanudar transferencias interrumpidas.

Contras de rsync

  • Requiere que rsync esté instalado tanto en el sistema de origen como en el de destino.
  • Requiere más opciones de configuración y comando en comparación con scp.

2. SFTP (Protocolo de transferencia de archivos SSH)

SFTP proporciona una forma segura de transferir archivos a través de SSH. Ofrece una funcionalidad similar a FTP pero opera a través de una conexión SSH cifrada, al igual que SCP. Pero en algunas áreas, las ventajas del SFTP superan a las del SCP. SCP no puede generar listados de directorios, crear o eliminar directorios, etc. SFTP, sin embargo, puede realizar todas estas tareas.

Ventajas de SFTP

  • Transferencia segura de archivos con cifrado.
  • Capacidades de gestión remota de archivos.
  • Amplia disponibilidad en la mayoría de los sistemas Linux y Unix.

Desventajas de SFTP

  • La sintaxis y el uso de los comandos difieren del FTP tradicional.
  • Puede tener soporte limitado en ciertos sistemas o dispositivos integrados.

3. FTP (Protocolo de transferencia de archivos)

FTP es un protocolo estándar ampliamente utilizado para la transferencia de archivos. Opera en un modelo cliente-servidor y ofrece una funcionalidad básica de transferencia de archivos.

Ventajas de FTP

  • Amplio soporte en varias plataformas.
  • Hay disponibles clientes gráficos y de línea de comandos familiares.

Desventajas de FTP

  • Carece de cifrado y es menos seguro en comparación con scp y sftp.
  • Puede requerir una configuración de firewall adicional para establecer conexiones.
  • Autenticación de texto plano.

En general, si bien scp es una opción simple y confiable para la transferencia segura de archivos a través de SSH, alternativas como rsync, sftp y FTP pueden ofrecer funciones adicionales y flexibilidad según los requisitos específicos.
Entonces, ¿cómo decides cuál elegir? Debe considerar factores como la seguridad, las necesidades de sincronización, la facilidad de uso y la compatibilidad con sus sistemas y protocolos. Por ejemplo, si la seguridad y la confidencialidad de los datos son los factores más importantes en la transferencia de archivos, entonces FTP no es una buena opción.

Conclusión 

SCP es una herramienta rápida y segura para la transferencia de archivos entre computadoras. Puede utilizar scp de remoto a local, de local a remoto e incluso entre dos sistemas remotos para transferir archivos. Y aunque existen alternativas a SCP que hacen un trabajo adecuado, como rsync, las trasciende en muchos sentidos, especialmente en seguridad y velocidad. En esta publicación de blog, hablamos sobre SCP, sus casos de uso y alternativas, y también proporcionamos una hoja de referencia para acceder fácilmente a la sintaxis utilizada con frecuencia.

Preguntas frecuentes 

¿Existe algún problema de seguridad que deba tener en cuenta al utilizar SCP de remoto a local?  

SCP es una herramienta bastante segura y no necesita preocuparse por las amenazas a la seguridad mientras la usa. Sin embargo, siempre se recomienda tomar todas las medidas de seguridad adicionales que pueda.

¿Cuáles son algunos de los errores comunes que ocurren al usar SCP de forma remota a local? 

Al utilizar SCP para transferir archivos desde un servidor remoto a una máquina local, los usuarios pueden encontrar varios errores comunes. Estos son dos de los errores más comunes al utilizar SCP remoto a local:

  1. No existe tal archivo o directorio: este error ocurre cuando no ha especificado el número de puerto correcto, la configuración de permisos de archivos es incorrecta o cuando la información de inicio de sesión es incorrecta.
  2. Error en la verificación de la clave del host: este mensaje de error aparece cuando la clave del host ha cambiado debido a actualizaciones del servidor. La clave de host muestra que se ha conectado a ese servidor antes y, cuando falla la verificación de la clave de host, indica que la identidad del servidor ha cambiado. Este error intenta protegerlo de conectarse a un servidor fraudulento.

¿Cómo uso SCP para transferir archivos entre sistemas remotos?

Para transferir archivos exitosamente entre sistemas usando SCP, se debe poder acceder a ambas computadoras a través de SSH. También necesita la dirección IP y la contraseña de las máquinas remotas. El resto es simplemente usar el comando SCP correcto:

scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

Después de escribir este comando, se le pedirá que proporcione la contraseña a los servidores. Después de eso, su archivo será transferido.

Compartir

Más del blog

Sigue leyendo.

Las mejores aplicaciones autohospedadas que puede ejecutar con Imagen de portada de Cosmos Cloud con paneles de aplicaciones alrededor de un panel de Cosmos.
Servidores y SO

Las mejores aplicaciones autohospedadas que puede ejecutar con Cosmos Cloud: archivos, medios, contraseñas, automatización y más.

Tal vez hayas configurado Cosmos Cloud y ahora quieras ver qué aplicaciones combinan bien con él, o tal vez aún no te hayas decidido por Cosmos y solo quieras ver qué tan bien se adapta a tu trabajo.

Nick PlataNick Plata 16 minutos de lectura
Portainer vs Cosmos Cloud para administrar aplicaciones Docker cubren un diagrama de configuración híbrida y operaciones de neón frente a bloques de acceso.
Servidores y SO

Portainer vs Cosmos Cloud: la mejor opción para la gestión de aplicaciones Docker

Si ya conoce Docker y solo desea una forma más limpia de ejecutar una pila de aplicaciones en crecimiento, aquí está la respuesta breve a Portainer vs Cosmos Cloud. Portainer es la elección más fuerte para la dirección

Nick PlataNick Plata 14 minutos de lectura
Gráfico de características de Cosmos Cloud, CasaOS y Umbrel que muestra tres rutas autohospedadas dentro de un mundo abstracto de red en la nube.
Servidores y SO

Cosmos Cloud vs CasaOS vs Umbrel: ¿Qué plataforma autohospedada se adapta a su configuración?

La respuesta corta es que CasaOS sigue siendo el lugar más fácil para comenzar, Umbrel tiene la sensación más limpia y Cosmos Cloud tiene más sentido una vez que desea un control más estricto sobre el dominio.

Nick PlataNick Plata 11 minutos de lectura

¿Listo para implementar? Desde $2,48/mes.

Nube independiente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Devolución de dinero en 14 días.