Conexión SFTP a Servidores VPS Linux con Claves SSH (.pem / .ppk)
Aprende a conectarte a instancias en la nube (AWS EC2, DigitalOcean, Hetzner) mediante SFTP seguro en el puerto 22 autenticándote con llaves privadas SSH.
¿Por qué los Servidores Cloud no Usan Contraseña?
En proveedores modernos de infraestructura en la nube como Amazon Web Services (AWS), DigitalOcean o Hetzner, los servidores VPS con Linux vienen configurados de fábrica con la autenticación por contraseña completamente deshabilitada en sshd_config.
Esto se debe a que las contraseñas son vulnerables a ataques automatizados de fuerza bruta con diccionarios. En su lugar, el acceso se realiza mediante pares de llaves criptográficas SSH (un archivo privado .pem o .ppk en tu equipo y la llave pública en el servidor).
Configuración Paso a Paso en el Gestor de Sitios
- Abre el Gestor de Sitios (
Ctrl + S) y haz clic en Nuevo sitio. - En la lista desplegable Protocolo, selecciona obligatoriamente: SFTP - SSH File Transfer Protocol.
- En Servidor, escribe la IP pública de tu VPS (ejemplo:
198.51.100.75) y en Puerto escribe22. - En Modo de acceso (Logon Type), cambia de Normal a Archivo de claves (Key file).
- En Usuario, escribe el usuario predeterminado de tu distribución:
- En Ubuntu:
ubuntu - En Amazon Linux:
ec2-user - En Debian:
debianoroot
- En Ubuntu:
- En Archivo de claves, haz clic en Examinar... y selecciona tu archivo de llave privada (
mi-servidor.pem).
(Nota: Si tu llave está en formato OpenSSH .pem, FileZilla te preguntará amablemente si deseas convertirla al formato .ppk; haz clic en Aceptar). - Haz clic en Conectar. La primera vez aparecerá una ventana verificando la huella digital del servidor (Host Key); marca la casilla "Confiar siempre en este servidor" y pulsa Aceptar.
Solución al Típico Error "Permission Denied" en `/var/www/html`
En distribuciones Ubuntu, la carpeta web /var/www/html le pertenece inicialmente al usuario root. Si intentas arrastrar un archivo con el usuario ubuntu, FileZilla marcará error de permisos denegados.
Para solucionarlo, abre tu terminal SSH una sola vez y otorga la propiedad a tu usuario:
sudo chown -R ubuntu:ubuntu /var/www/html
⚡ Configuración SSH Segura en el Servidor de Producción
Directivas en /etc/ssh/sshd_config que exigen autenticación por llave para SFTP:
# Configuración segura del demonio SSH en Linux VPS
Port 22
Protocol 2
# Deshabilitar contraseñas en texto plano (Evita ataques de fuerza bruta)
PasswordAuthentication no
PermitEmptyPasswords no
# Habilitar autenticación criptográfica por llaves públicas/privadas
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# Habilitar el subsistema interno de transferencia segura SFTP
Subsystem sftp internal-sftp
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lecciónAl conectarte a un servidor VPS en AWS o DigitalOcean con FileZilla por SFTP, ¿qué "Modo de acceso" debes seleccionar en el Gestor de Sitios para autenticarte con tu llave privada (.pem o .ppk)?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual de FileZilla: FTP, SFTP & Despliegue Web y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.