FTP frente a SFTP
FTP (Protocolo de transferencia de archivos) es un protocolo utilizado para transferir archivos entre hosts en Internet (u otras redes basadas en TCP). Es un protocolo basado en el modelo cliente-servidor. El servidor FTP contiene los archivos y bases de datos necesarios para proporcionar los servicios solicitados por los clientes. La mayoría de las veces, el servidor FTP es un dispositivo de alta potencia que puede manejar múltiples solicitudes de clientes al mismo tiempo. El cliente FTP es generalmente una computadora personal utilizada por un usuario final o un dispositivo móvil, que ejecuta el software necesario que es capaz de solicitar y recibir archivos a través de Internet desde un servidor FTP. FTP mantiene conexiones separadas entre el cliente y el servidor para transferir la información y los datos de control. Las aplicaciones de cliente FTP han evolucionado desde aplicaciones de línea de comandos hasta aplicaciones con interfaces gráficas de usuario a lo largo de este tiempo. SFTP (Protocolo de transferencia segura de archivos) es un protocolo utilizado para transferir archivos a través de un canal seguro. Fue desarrollado como una extensión del protocolo Secure Shell (SSH) por el Grupo de Trabajo de Ingeniería de Internet (IETF). SFTP asume que el canal utilizado para la comunicación es seguro y que el servidor autentica al cliente y que la información sobre el cliente está disponible para el uso del protocolo.
¿Qué es FTP?
FTP es un protocolo utilizado para transferir archivos a través de Internet. La especificación actual de FTP está contenida en RFC 959. Este protocolo opera en la capa de aplicación. Como se mencionó anteriormente, FTP mantiene dos conexiones para transferir información y datos de control. El protocolo FTP funciona de la siguiente manera. Un servidor FTP escucha las solicitudes entrantes de los clientes. Un cliente que quiera comunicarse con el servidor podría hacerlo a través del puerto 21, y se llama conexión de control. La conexión de control se abre durante toda la sesión y se utiliza para comunicar información de administración. Luego, el servidor FTP abre una segunda conexión a través del puerto 20 con el cliente comunicado y esta conexión se denomina conexión de datos. Los archivos se transfieren a través de la conexión de datos y una transferencia en curso podría detenerse enviando una señal de cancelación a través de la conexión de control.
¿Qué es SFTP?
SFTP es un protocolo utilizado para transferir archivos a través de un canal seguro. SFTP también se basa en la arquitectura cliente-servidor. Un servidor SFTP ampliamente conocido es OpenSSH y los clientes SFTP se implementan como programas de línea de comandos (como se proporciona con OpenSSH) o aplicaciones GUI. SFTP proporciona cifrado tanto para los datos como para los comandos que se transfieren, lo que proporciona seguridad para la información confidencial, como las contraseñas. Además, los archivos cargados mediante SFTP están asociados con atributos de archivo, como una marca de tiempo, lo que no es posible con FTP. SFTP no es solo un protocolo para acceder y transferir archivos, en realidad es un protocolo de sistema de archivos.
¿Cuál es la diferencia entre FTP y SFTP?
SFTP proporciona un mecanismo seguro para transferir archivos a través de Internet. SFTP proporciona un mecanismo para cifrar los datos y los comandos que se transfieren entre el cliente y el servidor, mientras que la información que se transfiere entre el cliente y el servidor mediante FTP está en texto sin formato. Además, los archivos cargados mediante SFTP están asociados con atributos de archivo, como una marca de tiempo, lo que no es posible con FTP. Aunque SFTP proporciona una funcionalidad similar (más segura) que FTP, debido a las diferencias subyacentes en los protocolos, un cliente FTP no se puede usar para comunicarse con un servidor SFTP y un cliente SFTP no se puede usar para comunicarse con un servidor FTP.