Para subir tu página web a un VPS puedes usar SFTP (recomendado, cifrado, funciona sobre SSH) o instalar un servidor FTP tradicional. En cualquier caso, el proceso tiene tres pasos: preparar el servidor, conectarte con un cliente y copiar tus archivos. Esta guía cubre ambos métodos.
FTP vs SFTP: ¿Cuál Debes Usar?
Antes de instalar nada, elige el protocolo correcto:
| Característica | FTP clásico | SFTP |
|---|---|---|
| Cifrado | No (datos en texto claro) | Sí (canal SSH) |
| Puerto por defecto | 21 | 22 (el mismo de SSH) |
| Requiere software extra en el VPS | Sí (vsftpd, ProFTPD…) | No (viene con OpenSSH) |
| Compatible con firewalls NAT | Complicado (modo pasivo) | Sin problemas |
| Recomendado para producción | No | Sí |
Conclusión: usa SFTP siempre que puedas. Si necesitas FTP por compatibilidad con algún CMS antiguo o cliente, instala vsftpd con FTPS (FTP sobre TLS).
Método 1: Subir Archivos con SFTP
Si tu VPS ya tiene SSH activo (lo tiene por defecto), SFTP funciona sin instalar nada adicional.
Opción A: Cliente gráfico (FileZilla)
- Descarga FileZilla (gratuito, disponible para Windows, macOS y Linux).
- Abre el Gestor de sitios (Archivo → Gestor de sitios).
- Haz clic en Nuevo sitio y configura:
- Protocolo: SFTP – SSH File Transfer Protocol
- Servidor: IP pública de tu VPS
- Puerto: 22 (o el que hayas configurado)
- Modo de acceso: Normal
- Usuario: tu usuario SSH (p. ej.
ubuntu,root) - Contraseña: la contraseña SSH o deja en blanco si usas llave
- Si usas llave SSH, en FileZilla ve a Editar → Preferencias → SFTP y añade tu archivo de llave privada (
.pemo.ppk). - Haz clic en Conectar.
- En el panel derecho navega a
/var/www/tudominio.com/html(o la ruta raíz de tu servidor web). - Arrastra tus archivos desde el panel izquierdo (tu PC) hacia el panel derecho (VPS).
Opción B: Línea de comandos (sftp / scp)
Desde tu terminal local, sube un archivo individual:
scp -i ~/.ssh/mi_llave.pem index.html usuario@IP_VPS:/var/www/tudominio.com/html/
O sube una carpeta completa:
scp -r -i ~/.ssh/mi_llave.pem ./mi-sitio/ usuario@IP_VPS:/var/www/tudominio.com/html/
Para una sesión SFTP interactiva:
sftp -i ~/.ssh/mi_llave.pem usuario@IP_VPS
sftp> cd /var/www/tudominio.com/html
sftp> put -r ./mi-sitio/*
sftp> bye
Método 2: Instalar un Servidor FTP (vsftpd)
Si necesitas FTP clásico — por ejemplo, para un CMS que lo requiera — instala vsftpd y configúralo con FTPS.
Instalación en Ubuntu/Debian
sudo apt update
sudo apt install vsftpd -y
Configuración básica
Edita /etc/vsftpd.conf y ajusta estas líneas:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
Reinicia el servicio:
sudo systemctl restart vsftpd
Abre los puertos en UFW:
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload
Crear un usuario FTP dedicado
Nunca uses root para FTP. Crea un usuario específico para transferencias:
sudo adduser ftpuser
sudo mkdir -p /var/www/tudominio.com
sudo chown ftpuser:ftpuser /var/www/tudominio.com
Permisos de Archivos: El Detalle Que Más Falla
Después de subir los archivos, el servidor web (Nginx o Apache) necesita leerlos. Ajusta los permisos:
# Directorios: 755 | Archivos: 644
sudo find /var/www/tudominio.com -type d -exec chmod 755 {} \;
sudo find /var/www/tudominio.com -type f -exec chmod 644 {} \;
Si tu servidor web corre como www-data (Ubuntu/Debian) o nginx (CentOS):
sudo chown -R www-data:www-data /var/www/tudominio.com # Debian/Ubuntu
sudo chown -R nginx:nginx /var/www/tudominio.com # CentOS/AlmaLinux
Para ver tu sitio en acción desde el navegador, asegúrate de que el bloque de servidor de Nginx o Apache apunte a esa ruta. Si aún no has configurado tu servidor web, revisa nuestros tutoriales de configuración de servidor VPS antes de continuar.
Si prefieres delegar la configuración inicial a profesionales, el equipo de elenlace.com puede hacer el setup completo del VPS y dejarte el entorno listo para trabajar.
Conclusiones clave
- SFTP es siempre la mejor opción: no requiere instalar nada en el VPS y cifra la transferencia.
- FileZilla es el cliente gráfico más simple para conectarte vía SFTP desde Windows, macOS o Linux.
- Si necesitas FTP clásico, instala vsftpd con modo pasivo y FTPS para proteger las credenciales.
- Crea siempre un usuario dedicado para las transferencias; nunca uses
rootdirectamente. - Ajusta permisos de archivos (644) y directorios (755) después de subir para evitar errores 403.
¿Quieres un servidor configurado desde cero y listo para recibir tu sitio hoy mismo? Contáctanos en elenlace.com y te lo dejamos funcionando en horas.
Preguntas frecuentes
¿Cuál es la diferencia entre FTP y SFTP?
FTP transmite datos en texto claro (sin cifrado), lo que expone tus credenciales y archivos en la red. SFTP usa el mismo canal cifrado de SSH, por lo que es seguro sin configuración extra. Usa SFTP siempre que sea posible.
¿Puedo subir mi web a un VPS sin saber comandos Linux?
Sí. Con un cliente gráfico como FileZilla y acceso SFTP puedes transferir archivos haciendo clic y arrastrando, sin escribir ni un solo comando. Solo necesitas la IP de tu VPS, tu usuario y tu contraseña SSH.
¿Por qué aparece un error 403 después de subir mis archivos?
El error 403 casi siempre es un problema de permisos. Verifica que los directorios tengan permiso 755 y los archivos 644, y que el usuario del servidor web (www-data o nginx) sea el propietario de los archivos.
¿Puedo automatizar la subida de archivos al VPS?
Sí. Puedes usar rsync sobre SSH para sincronizar carpetas de forma incremental: solo sube los archivos que cambiaron. Para proyectos más grandes, un pipeline de CI/CD (GitHub Actions, GitLab CI) automatiza el despliegue con cada push al repositorio.
Para saber más
Otros proveedores y guías que vale la pena comparar: