SCP vs SFTP: ¿Cuál debería utilizar para la transferencia de archivos?

SCP vs SFTP: ¿Cuál debería utilizar para la transferencia de archivos?

SCP (Copia segura) y SFTP (Programa de transferencia segura de archivos) son alternativas a FTP (Protocolo de transferencia de archivos), que resulta útil para transferencias de archivos no programadas. Los tres pueden ayudar a mover archivos de una ubicación a otra a través de un medio de red. Sin embargo, FTP envía datos en texto sin formato, mientras que los otros dos utilizan el Protocolo de transferencia de archivos SSH (SFTP) para la comunicación.

¿Qué es SCP?

SCP es un programa de transferencia de archivos no interactivo que apareció por primera vez en 4.2 BSD. Históricamente, utilizaba rlogin y SSH para transmitir archivos entre dos computadoras. Esto lo hacía propenso a ataques remotos, ya que ejecutaba comandos en el host remoto para iniciar una transferencia de datos.

Las transferencias de archivos y directorios en SCP pueden realizarse entre una máquina local y un host remoto o entre dos hosts remotos. Esto le permite ser más flexible al trabajar con diferentes distribuciones similares a UNIX.

Un terminal que muestra una transferencia de archivos entre una máquina local y un servidor remoto usando SCP.

SCP también se puede utilizar con un carácter comodín para ayudar a transferir varios archivos según criterios de cadena parcial. Al igual que en las transferencias directas, estos comodines también se pueden utilizar para enviar y recibir archivos y directorios.

¿Qué es SFTP?

A diferencia de SCP, SFTP es un programa de transferencia de archivos que funciona de manera similar a un indicador FTP y un shell remoto. Proporciona un mensaje interactivo que le permite navegar por el sistema de archivos de una máquina remota y manipular su contenido.

SFTP también utiliza varias funciones SSH, como compresión o autenticación de clave pública, para conectarse a hosts e ingresar al modo interactivo. Esto lo convierte en un robusto navegador de sistema de archivos remoto para máquinas UNIX sin cabeza.

Una terminal que muestra el mensaje SFTP transfiriendo archivos desde un servidor remoto a una máquina local.

SFTP también se puede utilizar para recuperar archivos automáticamente si utiliza un método de autenticación no interactivo; de lo contrario, los recupera después de una autenticación interactiva exitosa.

SCP versus SFTP: ¿Cuál es mejor?

Existen algunas similitudes entre los dos programas de transferencia de archivos. Ambos usan el puerto TCP 22 y se ejecutan en SSH, lo que los hace iguales en términos de seguridad. Además, ambos programas también admiten la transferencia de archivos grandes, ya que no tienen límites de tamaño de archivo. Por tanto, las principales diferencias entre SCP y SFTP se pueden ver en sus especificaciones y funciones.

Funcionalidad

En esencia, el propósito básico de SCP es copiar datos de forma segura entre dos máquinas. Esto es evidente en la sintaxis básica del programa, que requiere que proporciones un origen y un destino para cada transferencia de archivos. Esto hace que sea más fácil trabajar con transferencias de archivos simples y únicas.

Mientras tanto, SFTP es un cliente de transferencia de archivos más completo que proporciona un explorador de archivos junto con descargas de varios archivos. Estas características hacen que SFTP sea ideal para un usuario que necesita transferir archivos constantemente hacia y desde un host remoto.

Ganador : SFTP

Velocidad

Dado que tanto SCP como SFTP utilizan el protocolo SFTP para cifrar y transportar archivos, los dos programas comparten la misma velocidad de transferencia bruta al enviar o recibir datos. Sin embargo, iniciar esa transferencia es una historia diferente.

SCP suele ser más rápido a la hora de alcanzar la máxima velocidad de transferencia bruta de una conexión, mientras que SFTP se queda atrás cuando intenta «acelerar» su velocidad. Además, iniciar una transferencia SFTP también requiere que acceda a un mensaje y use comandos FTP para cargar y descargar archivos.

Ganador : SCP

Seguridad

Tanto SCP como SFTP dependen del protocolo SSH como su capa de transporte base. Esto les permite transferir datos de forma segura a través de una red utilizando cifrado de grado militar.

A pesar de eso, SFTP supera a SCP al proporcionar el indicador -f que le permite escribir inmediatamente cualquier dato transferido en el disco. No sólo eso, su interfaz de línea de comandos también proporciona una serie de utilidades que le permiten actualizar los bits de permiso de un archivo.

Ganador : SFTP

Tamaño del archivo

La mayoría de las versiones modernas de SCP y SFTP en Linux son binarios de 64 bits. Esto significa que ambas utilidades pueden soportar hipotéticamente hasta 16 Exabytes de datos arbitrarios siempre que el sistema de archivos subyacente también lo admita.

Dicho esto, SCP aún puede presentar algunos problemas con archivos grandes, especialmente cuando se trabaja con máquinas antiguas tipo UNIX. Esto se debe principalmente a que los sistemas que ejecutan versiones de 32 bits de SCP solo pueden manejar hasta 4 Gigabytes de archivos a la vez.

Ganador : SFTP

Líneas de comando

SCP no es interactivo y no puede leer scripts de comandos, por lo que todo debe escribirse en la línea de comandos. Sin embargo, esto también permite ejecutarlo como parte de scripts de shell más grandes, lo que puede resultar útil a la hora de automatizar las tareas de administración del sistema.

SFTP, por otro lado, es interactivo, por lo que puede leer comandos de archivos. Si bien esto también puede ser útil para la automatización, puede resultar más complicado ya que requiere un conjunto de comandos que son diferentes de un script de shell normal.

Ganador : SCP

Reanudar transferencias de archivos

SCP no admite esta función directamente. Esto hace que el programa sea propenso a repetir transferencias enteras en conexiones irregulares e intermitentes. Mientras tanto, SFTP lo admite tanto en el indicador CLI con su -aindicador como a través de su cliente de línea de comando usando los subcomandos regety .reput

Ganador : SFTP

¿Cuál debería utilizar para la transferencia de archivos: SCP o SFTP?

Si bien tienen sus similitudes y diferencias, decir que uno es mejor que el otro no sería justo. Ambos transfieren archivos y tienen características de seguridad similares ya que se ejecutan en SSH. En última instancia, la utilidad que elija se basará en lo que sea mejor para los requisitos de su entorno.

Utilice SCP para

  • Cuando desee transferir un único archivo o directorio entre dos hosts remotos.
  • Cuando desee automatizar la transferencia de datos a través de la red.
  • Cuando trabaja con sistemas heredados similares a UNIX sin soporte SFTP.

Utilice SFTP para

  • Cuando transfiere varios archivos a través de varios directorios desde un único host remoto.
  • Cuando desea interactuar con el sistema de archivos de un host remoto sin abrir una nueva sesión SSH.
  • Cuando desee un programa de transferencia de archivos confiable que pueda funcionar incluso en condiciones de red intermitentes.

Teniendo esto en cuenta, enviar datos entre dos sistemas es sólo el primer paso para comprender cómo se comunican las computadoras a través de una red. Descubra cómo su máquina Linux sabe dónde enviar sus datos consultando nuestra guía práctica de resolución de DNS usando dig .

Crédito de la imagen: Alejandro Escamilla vía Unsplash . Todas las modificaciones y capturas de pantalla realizadas por Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *