Servidores y VPS

Cómo subir tu página web a un servidor VPS con FTP o SFTP

Aprende a transferir los archivos de tu sitio web a un VPS usando FTP o SFTP con FileZilla, de forma segura y sin perder datos.

Detailed image of illuminated server racks showcasing modern technology infrastructure.

Para subir tu página web a un VPS usa SFTP (no FTP plano): conecta con tu usuario SSH, apunta al directorio web del servidor y transfiere tus archivos con FileZilla o cualquier cliente compatible. Es más seguro, no requiere instalar software adicional en el servidor y funciona desde el primer día.

FTP vs SFTP: ¿cuál debes usar en un VPS?

FTP tradicional transmite credenciales y archivos en texto claro — cualquiera en la misma red puede interceptarlos. SFTP (SSH File Transfer Protocol) cifra toda la comunicación sobre la misma conexión que usas con SSH.

Característica FTP SFTP
Cifrado No Sí (SSH)
Puerto por defecto 21 22
Software adicional en el VPS vsftpd / ProFTPD Ninguno (usa OpenSSH)
Recomendado para producción No Sí
Compatible con FileZilla Sí Sí

Conclusión práctica: usa SFTP siempre que puedas. Si un cliente o herramienta legacy exige FTP puro, configura FTPS (FTP sobre TLS) como mínimo.

Requisitos antes de empezar

  • VPS con Linux (Ubuntu/Debian/CentOS) y OpenSSH activo (viene por defecto).
  • Usuario SSH con permisos de escritura en el directorio web (p. ej. /var/www/tusitio.com/html).
  • FileZilla Client instalado en tu ordenador (descárgalo desde el sitio oficial o desde el administrador de paquetes de tu sistema).
  • IP pública del VPS, nombre de usuario y contraseña SSH (o clave privada).

Conectar con SFTP usando FileZilla

Opción A: conexión rápida con contraseña

  1. Abre FileZilla y ve a Archivo → Gestor de sitios → Nuevo sitio.
  2. Protocolo: SFTP – SSH File Transfer Protocol.
  3. Servidor: la IP pública de tu VPS.
  4. Puerto: 22 (o el puerto SSH personalizado si lo cambiaste).
  5. Tipo de acceso: Normal. Introduce usuario y contraseña SSH.
  6. Haz clic en Conectar.

FileZilla te pedirá que aceptes la huella digital (fingerprint) del servidor la primera vez. Verifica que coincide con la de tu VPS (comando ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub en el servidor) y acepta.

Opción B: conexión con clave SSH (más segura)

  1. En el Gestor de sitios, elige Tipo de acceso: Archivo de clave.
  2. Selecciona tu archivo .pem o .ppk (FileZilla acepta ambos formatos; convierte con PuTTYgen si es necesario).
  3. Deja la contraseña en blanco (la autenticación la hace la clave).
  4. Conectar.

Subir los archivos de tu sitio web

Una vez conectado, FileZilla muestra dos paneles: tu ordenador (izquierda) y el servidor (derecha).

Navegar al directorio correcto en el servidor

En el panel derecho, navega hasta la raíz de tu sitio. Las rutas más comunes en VPS son:

  • /var/www/tusitio.com/html/ — configuración típica de Nginx/Apache manual.
  • /home/tusitio/public_html/ — si usas cPanel o DirectAdmin.
  • /srv/www/tusitio/ — convención en algunas distribuciones.

Consulta tu bloque server (Nginx) o VirtualHost (Apache) para confirmar el root o DocumentRoot exacto.

Transferir los archivos

  1. En el panel izquierdo, navega hasta la carpeta local de tu proyecto.
  2. Selecciona todos los archivos (Ctrl+A) o solo los que quieres actualizar.
  3. Arrastra al panel derecho o haz clic derecho → Subir.
  4. FileZilla muestra la cola de transferencia en la parte inferior; espera a que termine.

Para sitios grandes, activa Transferencias simultáneas (Editar → Opciones → Transferencias → máximo 5) para acelerar la subida.

Verificar la subida

Abre tu dominio en el navegador. Si ves tu sitio, todo está correcto. Si ves un error 403 o 404, revisa:

  • Que los archivos están en el root correcto definido en Nginx/Apache.
  • Que el archivo principal se llama index.html, index.php o lo que esperaba el servidor.
  • Los permisos: los archivos deben ser legibles por el proceso del servidor web (chmod 644 para archivos, 755 para directorios).

Configurar FTP tradicional (vsftpd) si lo necesitas

Algunos entornos heredados o clientes con herramientas antiguas requieren FTP puro. Si es tu caso, instala vsftpd y fuerza al menos FTPS:

sudo apt install vsftpd -y

Edita /etc/vsftpd.conf con estas líneas mínimas de seguridad:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
force_local_data_ssl=YES
force_local_logins_ssl=YES

Reinicia vsftpd y abre el puerto 21 en UFW. Asegúrate de usar certificados reales (Let's Encrypt) en producción en lugar del certificado autofirmado de ejemplo.

Para saber más sobre cómo administrar tu VPS de forma segura, visita la sección de servidores VPS donde encontrarás guías complementarias.

Conclusiones clave

  • SFTP es la forma recomendada de subir archivos a un VPS: usa el puerto SSH 22 y cifra todo sin instalar nada extra.
  • FileZilla conecta por SFTP con usuario/contraseña o con clave SSH privada.
  • Navega al root exacto definido en tu configuración de Nginx o Apache antes de transferir.
  • Los permisos correctos son 644 para archivos y 755 para directorios; errores 403 casi siempre apuntan a permisos incorrectos.
  • FTP plano no debe usarse en producción; si lo necesitas, configura vsftpd con FTPS y certificado válido.

¿Prefieres que alguien se encargue de la configuración inicial de tu VPS? En elenlace.com configuramos tu servidor, subimos tu sitio y lo dejamos listo para recibir visitas desde el primer día.

Preguntas frecuentes

¿Necesito instalar algo en el VPS para usar SFTP?

No. SFTP forma parte del paquete OpenSSH-server, que viene instalado y activo por defecto en la mayoría de distribuciones Linux. Si tu VPS admite conexiones SSH, ya admite SFTP sin ninguna configuración adicional.

¿Qué hago si FileZilla me da error "Connection refused" al puerto 22?

Verifica que el servicio SSH está activo en el servidor (sudo systemctl status ssh) y que el puerto 22 no está bloqueado en el firewall de tu proveedor VPS. Si cambiaste el puerto SSH por defecto, usa ese número en FileZilla en lugar del 22.

¿Cómo subo archivos a un VPS sin contraseña (clave SSH)?

Genera un par de claves con ssh-keygen, copia la clave pública al servidor con ssh-copy-id usuario@IP, y en FileZilla selecciona "Archivo de clave" en el Gestor de sitios apuntando a tu clave privada. Es más seguro que la contraseña y no requiere escribirla cada vez.

¿Puedo usar SFTP para actualizar solo algunos archivos sin subir todo el sitio?

Sí. En FileZilla puedes seleccionar archivos individuales o carpetas específicas y subirlos sin tocar el resto. Para deployments frecuentes con control de versiones, considera complementar SFTP con rsync o un pipeline de CI/CD que solo transfiera los archivos modificados.

Recursos útiles

Otros proveedores y guías que vale la pena comparar:

← Todos