Crear una cuenta FTP mediante SSH
Cómo configurar un usuario FTP dedicado en tu servidor sin panel de control.
De forma predeterminada, tu servidor solo cuenta con el superusuario root — y conectarse por FTP como root es mala idea. El FTP transmite las credenciales en texto plano, por lo que exponer tu cuenta root a través de él supone un riesgo de seguridad grave.
Si tu servidor no tiene un panel de control (cPanel, BeAdmin, aaPanel, CloudPanel, etc.), puedes crear un usuario FTP dedicado manualmente por SSH. Aquí te explicamos cómo.
1. Instalar ProFTPD (si aún no está instalado)
Ubuntu / Debian:
sudo apt update
sudo apt install proftpd-basic -y
CentOS / Rocky / AlmaLinux:
sudo yum install proftpd -y
Una vez instalado, inicia el servicio y configúralo para que se lance al arranque:
sudo systemctl start proftpd
sudo systemctl enable proftpd
2. Confinar a los usuarios en su directorio personal (recomendado)
Este paso evita que los usuarios FTP naveguen fuera de su carpeta asignada — imprescindible en cualquier configuración multiusuario.
Abre el archivo de configuración de ProFTPD:
- Ubuntu/Debian:
sudo nano /etc/proftpd/proftpd.conf - CentOS/Rocky:
sudo nano /etc/proftpd.conf
Añade esta línea al final del archivo:
DefaultRoot ~
Guarda y reinicia ProFTPD:
sudo systemctl restart proftpd
Nuestros servicios y productos
3. Crear el usuario FTP
Un usuario FTP no necesita acceso a la shell — concedérselo sería un agujero de seguridad. Asignaremos /bin/false como su shell para mantener el acceso restringido.
- Registra
/bin/falsecomo shell válida (si aún no lo está):
echo '/bin/false' | sudo tee -a /etc/shells
- Crea el usuario:
sudo useradd ftpuser -d /home/ftpuser -m -s /bin/false
- Establece una contraseña:
sudo passwd ftpuser
Puedes sustituir
ftpuserpor cualquier nombre de usuario. El directorio personal/home/ftpuserse creará automáticamente.
4. Restringir los permisos
Para evitar que el usuario modifique cualquier cosa fuera de su carpeta de subida designada, ajusta los permisos de la siguiente manera:
sudo chmod 555 /home/ftpuser
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
El usuario solo podrá subir archivos a la subcarpeta upload — el resto no tiene permisos de escritura.
Algunas cosas a tener en cuenta
- Siempre que sea posible, usa SFTP en lugar de FTP — cifra la conexión, incluidas las credenciales.
- Nunca uses root para conexiones FTP, bajo ninguna circunstancia.
- Tras crear el usuario, prueba la conexión de inmediato con un cliente FTP como FileZilla o WinSCP.
- Si necesitas gestionar varios usuarios FTP, un panel de control (aaPanel, BeAdmin, CloudPanel, cPanel, etc.) te ahorrará mucho tiempo.
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!