Cómo conectar a cPanel por SSH de forma segura (Configuración y claves)
¿Qué necesitas para conectarte por SSH a cPanel?
Antes de empezar, es importante que sepas que no todos los planes de hosting incluyen acceso SSH. Si tu proveedor no lo ofrece, esta guía no te servirá. Deberías contactar con tu soporte para preguntar si es posible activarlo o si tienes que contratar un plan superior.
Para conectarte por SSH a tu servidor cPanel, necesitarás tres cosas básicas:
- La dirección IP de tu servidor o el nombre de host (por ejemplo,
servidor.midominio.com). - Un usuario con permisos SSH. Normalmente es el usuario principal de cPanel, pero a veces se crea uno específico.
- Tu contraseña de cPanel o, mejor aún, un par de claves SSH (pública y privada). Te recomiendo encarecidamente usar claves en lugar de contraseña, porque son muchísimo más seguras.
Activar el acceso SSH en cPanel
El primer paso es asegurarte de que el acceso SSH está habilitado en tu cuenta. Esto se hace desde el propio cPanel.
Paso 1: Accede a tu panel de control
Entra en tu cPanel con tus credenciales habituales. Normalmente la URL es algo como https://tudominio.com/cpanel o https://tuip:2083.
Paso 2: Busca la sección de SSH
Dentro de cPanel, busca una sección llamada "Acceso SSH" o "SSH Access". Dependiendo de la versión y del proveedor, puede estar en "Seguridad" o en "Avanzado".
Paso 3: Activa el acceso
Si ves un botón que dice "Administrar SSH Keys" o "Gestionar claves SSH", significa que el acceso ya está habilitado. Si ves un mensaje que dice "SSH deshabilitado", busca un botón para activarlo.
[INFO] En algunos proveedores, el acceso SSH está deshabilitado por defecto por seguridad. Si no encuentras la opción, contacta con el soporte de tu hosting.
Generar un par de claves SSH desde cPanel
La forma más segura de configurar cpanel ssh es usando un par de claves. Esto elimina la necesidad de escribir una contraseña cada vez y reduce el riesgo de ataques de fuerza bruta.
Paso 1: Ve a "SSH Access" y luego a "Manage SSH Keys"
Una vez dentro de la sección SSH, busca la opción de "Administrar claves SSH" o "Manage SSH Keys".
Paso 2: Genera una nueva clave
Haz clic en "Generate a New Key" (Generar una nueva clave).
Paso 3: Configura los parámetros de la clave
Aquí tienes que elegir:
- Nombre de la clave: Puedes ponerle algo como
mi_clave_servidor. - Tipo de clave: Elige RSA (es el más compatible) o Ed25519 (más moderno y rápido). Si no sabes cuál elegir, ve con RSA de 4096 bits.
- Contraseña (passphrase): Es una contraseña adicional para proteger tu clave privada. Puedes dejarla vacía, pero es mucho más seguro ponerle una. Eso sí, la tendrás que escribir cada vez que te conectes.
Haz clic en "Generate Key".
Paso 4: Autoriza la clave pública
Una vez generada, verás dos claves: una pública y una privada. La clave pública es la que se queda en el servidor. Haz clic en "Manage" junto a la clave pública y luego en "Authorize" (Autorizar). Esto añade la clave a tu archivo authorized_keys.
[TIP] La clave privada es como la llave de tu casa. Nunca la compartas con nadie. Si alguien la obtiene, puede acceder a tu servidor sin tu permiso.
Conectar por SSH desde Windows, Mac o Linux
Ahora que tienes las claves configuradas, vamos a ver cómo conectarte desde diferentes sistemas operativos.
Conectar desde Linux o macOS
Estos sistemas traen un cliente SSH integrado en la terminal.
- Abre la terminal.
- Escribe el siguiente comando:
ssh -i /ruta/a/tu/clave_privada usuario@direccion_ip
Por ejemplo:
ssh -i ~/claves/mi_clave_servidor usuario@192.168.1.100
Si no usas clave privada (porque tienes la contraseña directamente), el comando sería:
ssh usuario@direccion_ip
Te pedirá la contraseña y listo.
Conectar desde Windows
Windows tiene un cliente SSH integrado en PowerShell desde Windows 10. También puedes usar programas como PuTTY, pero te recomiendo usar el terminal nativo.
- Abre PowerShell.
- Ejecuta el mismo comando que en Linux:
ssh -i C:\ruta\a\tu\clave_privada usuario@direccion_ip
O si usas contraseña:
ssh usuario@direccion_ip
[WARNING] Si usas PuTTY, necesitas convertir tu clave privada al formato
.ppkcon PuTTYgen. Es un paso extra que puede confundir a principiantes. Por eso te recomiendo usar PowerShell o el terminal integrado.
Configurar la seguridad de SSH en cPanel
Conectarte por SSH es útil, pero también es una puerta de entrada para posibles atacantes si no la aseguras bien. Aquí te doy una lista de buenas prácticas.
Cambia el puerto por defecto
El puerto por defecto de SSH es el 22. Los bots escanean constantemente este puerto en busca de servidores vulnerables. Cambiarlo a otro puerto reduce muchísimo los ataques automáticos.
Para cambiarlo, necesitas acceso de root al servidor (normalmente via WHM). En la configuración de SSH, cambia el puerto a uno alto, por ejemplo, el 2222 o el 2106.
[INFO] Si tu servidor usa Syspanel (antes conocido como HestiaCP), el puerto de acceso SSH por defecto es el 2106. Tenlo en cuenta si tu proveedor usa este panel.
Desactiva el acceso por contraseña
Una vez que tengas tus claves SSH configuradas y funcionando, desactiva el acceso por contraseña. Esto fuerza a que solo se pueda acceder con la clave privada.
Esto se hace en el archivo de configuración de SSH (/etc/ssh/sshd_config). Busca la línea que dice PasswordAuthentication y cámbiala a no.
Limita los usuarios que pueden acceder por SSH
Otra buena práctica es especificar qué usuarios pueden conectarse por SSH. En el mismo archivo de configuración, añade:
AllowUsers usuario1 usuario2
De esta forma, aunque alguien tenga una contraseña válida de otro usuario, no podrá acceder por SSH.
Usa un firewall
Configura un firewall (como CSF o iptables) para que solo se permita el acceso SSH desde direcciones IP conocidas. Esto es especialmente útil si siempre te conectas desde la misma IP.
Solución de problemas comunes al conectar SSH
A veces las cosas no funcionan a la primera. Aquí tienes una lista de problemas frecuentes y cómo solucionarlos.
"Permission denied (publickey)"
Este error significa que el servidor no acepta tu clave pública. Revisa:
- Que la clave pública esté autorizada en cPanel.
- Que estás usando la clave privada correcta con
-i. - Que los permisos de tu carpeta
.sshy del archivoauthorized_keysson correctos (deben ser700para la carpeta y600para el archivo).
"Connection timed out"
El servidor no responde. Puede ser porque:
- El puerto de SSH está bloqueado por un firewall.
- La IP del servidor es incorrecta.
- El servidor está caído.
"Host key verification failed"
Esto ocurre cuando el servidor ha cambiado su clave de host (por ejemplo, si se reinstaló). Solución:
ssh-keygen -R direccion_ip
Esto elimina la clave antigua y te pedirá confirmar la nueva.
Preguntas frecuentes sobre cpanel ssh
¿Es seguro usar SSH con cPanel?
Sí, siempre y cuando sigas las buenas prácticas: usa claves SSH, cambia el puerto, desactiva el acceso por contraseña y limita los usuarios.
¿Puedo usar SSH para transferir archivos?
Sí, puedes usar SFTP (que va sobre SSH) para transferir archivos de forma segura. Programas como FileZilla o WinSCP lo soportan perfectamente.
¿Qué es una clave pública y una privada?
La clave pública se queda en el servidor. La clave privada la tienes tú. Cuando te conectas, el servidor verifica que tu clave privada coincide con la pública. Es como un candado y su llave.
¿Puedo tener varias claves SSH?
Sí, puedes generar tantas como quieras. Es útil si tienes varios dispositivos (portátil, escritorio, móvil) y quieres poder conectarte desde todos.
Conclusión
Conectar por cpanel ssh no es complicado si sigues los pasos correctos. La clave está en configurarlo bien desde el principio: genera tus claves, autorízalas en cPanel, y después aplica medidas de seguridad como cambiar el puerto y desactivar el acceso por contraseña.
Recuerda que la seguridad es un proceso continuo. Revisa periódicamente tus logs de acceso y asegúrate de que solo las personas autorizadas tienen acceso.
Si tu proveedor usa Syspanel (HestiaCP), recuerda que el puerto SSH por defecto es el 2106, así que ajústalo en tu configuración local.
[TIP] Si algo no funciona, no te desesperes. La mayoría de los problemas de conexión SSH se deben a errores de permisos o de configuración de claves. Revisa los pasos uno a uno y verás que lo consigues.
Espero que esta guía te haya sido útil. Si tienes más dudas, consulta la documentación de tu proveedor o contacta con su soporte técnico. ¡Buena suerte con tu servidor!
