El protocolo SFTP (SSH File Transfer Protocol) es una extensión segura del protocolo SSH que permite la transferencia segura de archivos entre sistemas. En este artículo, exploraremos en detalle qué es SFTP, cómo configurarlo y proporcionaremos ejemplos prácticos para realizar transferencias seguras de archivos entre servidores y sistemas locales.
¿Qué es SFTP?
SFTP es una solución segura para transferir archivos a través de una conexión SSH. A diferencia de FTP (File Transfer Protocol), SFTP cifra todo el tráfico, incluyendo nombres de usuario, contraseñas y datos de archivo, lo que lo convierte en una elección segura y preferida para la transferencia de archivos en entornos sensibles.
Configuración de SFTP:
Configurar SFTP es sencillo y depende de tu sistema operativo. A continuación, se detallan los pasos generales para configurarlo:
Paso 1: Verificar la Configuración de SSH:
SFTP utiliza SSH como su capa de seguridad, por lo que debes asegurarte de que SSH esté instalado y configurado en tu servidor. La mayoría de las distribuciones de Linux ya tienen SSH preinstalado.
Paso 2: Crear o Configurar un Usuario SFTP:
Para limitar el acceso de un usuario a SFTP y restringirlo a un directorio específico, debes crear un usuario o modificar la configuración de un usuario existente. Puedes utilizar herramientas como useradd
en Linux para crear un nuevo usuario y asignarle una cárcel SFTP (un directorio raíz al que se limitará el acceso).
Paso 3: Configurar la Cárcel SFTP:
La cárcel SFTP es el directorio raíz al que se limitará el acceso del usuario SFTP. Debes configurar esta cárcel en el archivo /etc/ssh/sshd_config
de la siguiente manera:
Match User usuario_sftp
ForceCommand internal-sftp
ChrootDirectory /ruta/carpeta_raiz/
AllowTCPForwarding no
PasswordAuthentication yes
Reemplaza usuario_sftp
con el nombre de tu usuario SFTP y /ruta/carpeta_raiz/
con la ruta de la cárcel.
Paso 4: Reiniciar el Servidor SSH:
Después de realizar cambios en la configuración de SSH, reinicia el servicio SSH para que los cambios surtan efecto.
service ssh restart
Ejemplos de Uso de SFTP:
A continuación, te mostramos ejemplos de comandos SFTP para realizar transferencias seguras de archivos:
1. Conectarse a un Servidor Remoto:
sftp usuario@servidor
Esto te conectará al servidor remoto utilizando SFTP. Deberás proporcionar la contraseña del usuario SFTP cuando se te solicite.
2. Subir un Archivo al Servidor Remoto:
put archivo_local.txt
Esto subirá el archivo local archivo_local.txt
al directorio de trabajo en el servidor remoto.
3. Descargar un Archivo del Servidor Remoto:
get archivo_remoto.txt
Esto descargará el archivo archivo_remoto.txt
desde el servidor remoto y lo colocará en el directorio local de trabajo.
4. Listar Contenido del Directorio en el Servidor Remoto:
ls
Esto mostrará el contenido del directorio actual en el servidor remoto.
Conclusión:
SFTP es una solución segura y eficaz para la transferencia de archivos en entornos que requieren un alto nivel de seguridad. Con esta guía, puedes configurar SFTP en tu servidor y utilizarlo para transferir archivos de forma segura entre sistemas locales y servidores remotos, protegiendo la integridad y la confidencialidad de tus datos.