SFTP (SSH File Transfer Protocol o Protocolo de Transferencia de Archivos SSH) es un protocolo de red seguro utilizado para la transferencia de archivos. Es parte del conjunto de herramientas proporcionadas por SSH (Secure Shell), un protocolo que asegura la comunicación en redes inseguras. SFTP proporciona una manera segura de transferir archivos entre un cliente y un servidor, ofreciendo encriptación y autenticación robustas.
Diferencias Claves entre SFTP y FTP
| Característica | FTP | SFTP |
|---|---|---|
| Seguridad | No cifrado; datos y credenciales en texto plano. | Cifrado mediante SSH, protegiendo datos y credenciales. |
| Puerto | Usa el puerto 21 para el control y 20 para datos. | Usa el puerto 22, el mismo que SSH. |
| Protocolo | Protocolo de aplicación independiente. | Parte del protocolo SSH. |
| Transferencia | Transferencia activa o pasiva, manejo separado de comandos y datos. | Transferencia segura en un solo canal cifrado. |
| Autenticación | Usuario y contraseña en texto plano o métodos anónimos. | Autenticación mediante claves SSH o contraseñas cifradas. |
| Instalación | Requiere software FTP específico. | Utiliza el cliente y servidor SSH, simplificando la instalación. |
| Gestión | Ofrece comandos básicos para transferencia de archivos. | Incluye capacidades adicionales como gestión de permisos y directorios. |
| Compatibilidad | Amplio soporte en servidores y clientes antiguos. | Generalmente requiere SSH y configuraciones de seguridad adicionales. |
Características de SFTP
- Cifrado:
- Todos los datos transmitidos (incluyendo contraseñas y archivos) están cifrados, protegiendo la información sensible de intercepciones.
- Autenticación Segura:
- Utiliza métodos de autenticación robustos como claves públicas y privadas, además de contraseñas cifradas.
- Puertos de Red:
- SFTP opera sobre el puerto 22, el mismo utilizado por SSH, lo que facilita la configuración y minimiza la exposición a ataques al no necesitar múltiples puertos abiertos.
- Gestión de Archivos:
- Además de la transferencia de archivos, SFTP permite realizar tareas de administración como crear, borrar y cambiar permisos de archivos y directorios.
- Integridad de los Datos:
- Proporciona mecanismos para verificar la integridad de los archivos transferidos, asegurando que no hayan sido alterados durante la transferencia.
Cómo Usar SFTP
- Instala un Cliente SFTP:
- Existen muchos clientes SFTP disponibles, como FileZilla, WinSCP, o Cyberduck. En sistemas Unix y Linux, se puede usar la línea de comandos de
sftp.
- Existen muchos clientes SFTP disponibles, como FileZilla, WinSCP, o Cyberduck. En sistemas Unix y Linux, se puede usar la línea de comandos de
- Configura el Servidor SFTP:
- La mayoría de los servidores SSH ya están configurados para aceptar conexiones SFTP. Asegúrate de que el servicio SSH esté activo y que el puerto 22 esté abierto.
- Conéctate al Servidor SFTP:
- Usa el cliente SFTP para conectarte al servidor introduciendo la dirección del servidor, el nombre de usuario y la clave SSH o contraseña.
- Transfiere Archivos:
- Una vez conectado, puedes subir, descargar y gestionar archivos de manera segura.
Ejemplo de Uso con la Línea de Comandos
- Conéctate al Servidor:bashCopiar código
sftp usuario@servidor.com- Ingresa la contraseña o usa la clave SSH para autenticarte.
- Navega por los Directorios:bashCopiar código
ls # Listar archivos en el servidor cd directorio # Cambiar a un directorio específico - Descarga un Archivo:bashCopiar código
get archivo_remoto.txt archivo_local.txt - Sube un Archivo:bashCopiar código
put archivo_local.txt archivo_remoto.txt - Cierra la Conexión:bashCopiar código
exit
Ventajas de SFTP sobre FTP
- Seguridad Mejorada: Todas las transferencias están cifradas, lo que protege contra la interceptación de datos.
- Menor Configuración de Red: Usa un solo puerto (22), simplificando la configuración y reduciendo la superficie de ataque.
- Autenticación Sólida: La autenticación puede basarse en claves SSH, que son más seguras que las contraseñas.
- Funcionalidades Adicionales: Proporciona funcionalidades adicionales para la gestión de archivos y permisos.
Conclusión
SFTP es una alternativa segura y moderna a FTP, adecuada para cualquier situación en la que la seguridad y la integridad de los datos sean cruciales. Si bien FTP sigue siendo utilizado en muchas aplicaciones y contextos donde la seguridad no es una preocupación principal, SFTP es la opción recomendada para entornos donde la protección de la información es esencial.