Cómo transferir archivos a tu VPS con FileZilla por SFTP
Aprende a conectar FileZilla a tu VPS mediante SFTP, enviar archivos de forma segura y resolver los errores más comunes de conexión y permisos.
Cuando contratas una VPS, en algún momento necesitarás enviar archivos desde tu ordenador al servidor: el código de un sitio web, una copia de seguridad de base de datos o imágenes de un proyecto. FileZilla resuelve esto con una interfaz gráfica que no requiere comandos de terminal y funciona en Windows, macOS y Linux.
Este tutorial está dirigido a quienes están empezando: usaremos SFTP (SSH File Transfer Protocol), el estándar seguro que ya viene habilitado en cualquier VPS Linux moderna. No necesitas instalar nada en el servidor, solo las credenciales SSH que ya tienes.
Requisitos previos
Una VPS Linux activa (Ubuntu, Debian, AlmaLinux, etc.) con SSH funcionando en el puerto 22. Necesitas tener la IP del servidor, un usuario y la contraseña, o una clave SSH si así configuraste el acceso. Un ordenador con Windows, macOS o Linux para instalar FileZilla.
Si nunca te has conectado a la VPS por SSH, conviene hacerlo al menos una vez antes de continuar, para comprobar que las credenciales funcionan y que el puerto 22 es accesible. En terminal: ssh usuario@ip-del-servidor.
Los datos que utilizarás tienen este formato:
IP de la VPS (ej: 45.10.20.30) SFTP 22 root o tu usuario Instalación de FileZilla
FileZilla Client es gratuito y de código abierto. Descárgalo siempre desde la fuente oficial: las versiones en sitios de terceros suelen incluir adware.
Accede a https://filezilla-project.org/ y haz clic en Download FileZilla Client (no el Server, que es otra aplicación). El sitio detecta tu sistema operativo automáticamente.
En distribuciones Linux basadas en Debian/Ubuntu también puedes instalarlo desde el gestor de paquetes:
sudo apt update
sudo apt install -y filezillaEjecuta el instalador y sigue los pasos estándar. En Windows, en la pantalla “Choose Components”, puedes desmarcar componentes opcionales como iconos de escritorio si no los necesitas.
El instalador oficial de FileZilla para Windows a veces ofrece software adicional durante la instalación (navegadores, antivirus). Lee cada pantalla con atención y rechaza esas ofertas: no forman parte de FileZilla.
Abre FileZilla. La interfaz tiene cuatro áreas principales: la barra de conexión rápida en la parte superior, los archivos locales a la izquierda, los archivos remotos a la derecha (vacío hasta conectar) y un área de registro en la parte inferior que muestra lo que está ocurriendo.
Conexión a la VPS
Puedes conectarte de dos formas: mediante Conexión rápida (útil para pruebas) o el Gestor de sitios (recomendado para uso recurrente, ya que guarda las credenciales).
Opción 1: Conexión rápida
En la barra superior de FileZilla, rellena los campos:
- Host:
sftp://TU_IP(el prefijosftp://fuerza el protocolo seguro) - Nombre de usuario: tu usuario SSH (generalmente
rooto el usuario que creaste) - Contraseña: la contraseña SSH
- Puerto:
22
Haz clic en Conexión rápida.
En la primera conexión, FileZilla muestra una ventana preguntando si confías en la clave del host. Es el mismo aviso que da SSH cuando te conectas por primera vez.
Marca Confiar siempre en este host y haz clic en Aceptar. FileZilla guarda la clave y en conexiones posteriores no lo vuelve a preguntar.
Opción 2: Gestor de sitios
Para conexiones recurrentes, guardar la configuración ahorra tiempo y evita escribir la contraseña cada vez.
Ve a Archivo → Gestor de sitios (o Ctrl+S). Haz clic en Nuevo sitio y dale un nombre descriptivo (p. ej., “VPS Producción”).
En la pestaña General, rellena:
- Protocolo: SFTP - SSH File Transfer Protocol
- Host: IP de la VPS (sin
sftp://aquí, ya que el protocolo está en el campo anterior) - Puerto: 22 (déjalo en blanco para usar el valor por defecto)
- Tipo de acceso: “Solicitar contraseña” (más seguro) o “Normal” (guarda la contraseña)
- Usuario: tu usuario SSH
Haz clic en Conectar.
Si ya configuraste autenticación por clave SSH en la VPS, cambia Tipo de acceso a “Archivo de clave” y apunta al archivo de clave privada (habitualmente ~/.ssh/id_rsa o ~/.ssh/id_ed25519). Es más seguro y no requiere introducir contraseña.
Transferencia de archivos
Una vez conectado, el panel derecho muestra los archivos del servidor. Por defecto, aterrizas en el directorio home del usuario: /root para root; /home/tu-usuario para otros usuarios.
Navegación hasta el directorio correcto
En el panel izquierdo, navega hasta el directorio donde se encuentran los archivos en tu ordenador local.
Envío de archivos (subida)
Selecciona los archivos o carpetas en el panel izquierdo (ordenador local). Puedes usar Ctrl+clic para seleccionar varios elementos, o Ctrl+A para seleccionar todo el contenido de la carpeta actual.
Arrastra la selección al panel derecho (servidor VPS) o haz clic derecho y elige Subir.
La cola de transferencia aparece en el panel inferior, mostrando progreso, velocidad y archivos pendientes. Puedes seguir añadiendo archivos a la cola mientras la transferencia está en curso.
Descarga de archivos
El proceso es el inverso: selecciona en el panel derecho (servidor VPS) y arrastra a la izquierda (ordenador local), o haz clic derecho y elige Descargar.
Si ya existe un archivo con el mismo nombre en el destino, FileZilla pregunta qué hacer. Léelo con atención: elegir “Sobreescribir” sin pensar puede borrar trabajo. Marca “Aplicar solo a la cola actual” para no afectar acciones futuras.
Verificación de la transferencia
Tras la transferencia, confirma en el servidor que los archivos llegaron íntegros. Conéctate por SSH y ejecuta:
ls -lah /ruta/a/los/archivos
La salida muestra tamaño, fecha y permisos. Compara el tamaño con el archivo original: si coincide, la transferencia fue correcta.
Para archivos críticos (copias de seguridad de base de datos, por ejemplo), comprueba el hash MD5 o SHA256 en ambos lados:
# En el servidor
sha256sum archivo.sql
# En tu ordenador (Linux/macOS)
shasum -a 256 archivo.sql
Los hashes deben ser idénticos. Si difieren, el archivo se corrompió durante la transferencia; repite el proceso.
Resolución de problemas
Error: “Connection refused” o “No se pudo conectar al servidor”
El puerto 22 está bloqueado o el servicio SSH no está en ejecución. Conéctate por terminal para confirmar que SSH es accesible. Si el firewall del servidor bloquea tu IP, libérala primero. En VPS gestionadas, comprueba si existe un firewall externo en el panel de control.
Error: “Permission denied” al enviar archivos
Tu usuario no tiene permiso de escritura en el directorio de destino. Ocurre con frecuencia cuando intentas subir archivos a /var/www/html con un usuario sin privilegios. Soluciones:
# En el servidor, ajusta el propietario del directorio
sudo chown -R tu-usuario:tu-usuario /var/www/html
O transfiere los archivos primero a tu carpeta home (/home/tu-usuario) y después muévelos con sudo mv por SSH.
La conexión se cae durante transferencias grandes
El servidor SSH desconecta sesiones inactivas. En FileZilla, ve a Editar → Preferencias → Conexión → FTP y activa Enviar comandos keep-alive. Para SFTP el problema es poco frecuente, pero si ocurre, añade ClientAliveInterval 60 en /etc/ssh/sshd_config del servidor.
Archivos con caracteres especiales aparecen corruptos
Generalmente es un problema de codificación. Ve a Gestor de sitios → Conjunto de caracteres y selecciona Forzar UTF-8. Los servidores Linux modernos usan UTF-8 por defecto.
Próximos pasos
Con FileZilla configurado, estos son los temas que conviene explorar a continuación:
- Cómo generar y usar claves SSH para prescindir de contraseñas y aumentar la seguridad
- Comandos básicos de rsync para sincronizaciones incrementales (más rápido que SFTP para despliegues recurrentes)
- Cómo configurar permisos correctos (
chmod,chown) en archivos de sitio web - Automatizar despliegues con Git en lugar de transferir archivos manualmente
Si estás poniendo un sitio en producción, una VPS Hostini ya viene con SSH configurado y acceso root habilitado: basta con apuntar FileZilla a la IP que recibes en el correo de activación para empezar a trabajar.
Preguntas frecuentes
¿Puedo usar FileZilla para editar archivos directamente en el servidor?
Sí. Haz clic derecho en un archivo del panel remoto y elige "Ver/Editar". FileZilla descarga el archivo, lo abre en el editor configurado y, al guardar, sube automáticamente la versión modificada. Configura el editor predeterminado en Editar → Preferencias → Edición de archivos.
¿Cuál es la diferencia entre SFTP, FTP y FTPS?
FTP es el protocolo antiguo, sin cifrado: no lo uses. FTPS es FTP con SSL/TLS, requiere certificado y configuración adicional en el servidor. SFTP es un protocolo distinto que corre sobre SSH en el puerto 22: no necesita configuración adicional más allá de SSH y es el recomendado para cualquier VPS Linux.
¿FileZilla guarda mi contraseña en texto plano?
Por defecto, sí: el archivo sitemanager.xml almacena las contraseñas en texto plano o base64 (no es cifrado). Para evitarlo, usa "Tipo de acceso: Solicitar contraseña" en el Gestor de sitios, o activa la contraseña maestra en Editar → Preferencias → Interfaz → Contraseñas, que cifra las contraseñas guardadas.
¿Por qué mi transferencia es muy lenta?
SFTP tiene una sobrecarga de cifrado que limita la velocidad: en conexiones buenas, espera entre 5 y 20 MB/s. Para transferencias grandes, considera usar rsync por SSH o comprimir antes (tar + gzip) y enviar un único archivo. La latencia entre tu ubicación y el servidor también influye: una VPS en España para un cliente en España siempre será más rápida que una VPS en el extranjero.
¿Puedo conectarme usando clave SSH en lugar de contraseña?
Sí, y es más seguro. En el Gestor de sitios, cambia "Tipo de acceso" a "Archivo de clave" y apunta a tu clave privada (`~/.ssh/id_rsa` o `~/.ssh/id_ed25519`). Si la clave tiene passphrase, FileZilla la solicita al conectar. La clave pública correspondiente ya debe estar en `~/.ssh/authorized_keys` en el servidor.
¿FileZilla funciona con una VPS detrás de NAT o con IP dinámica?
Sí, siempre que puedas acceder a la VPS por SSH de alguna forma: IP pública, IPv6, túnel o DNS dinámico. FileZilla acepta nombres de host en el campo Host, así que si tienes un dominio apuntando al servidor (incluso con DDNS), puedes usar el dominio en lugar de la IP.