--- title: "Cómo instalar el panel Cockpit en Ubuntu 24.04" description: "Instala Cockpit en Ubuntu 24.04 desde backports, accede con tu usuario sudo, protege el puerto 9090 con UFW y Let's Encrypt y gestiona servicios, logs y discos." category: "Paneles de Control y Gestión" language: es source: https://cubepath.com/es/docs/paneles-de-control-y-gestión/panel-de-gestion-del-servidor-cockpit updated: 2026-09-25 --- # Cómo instalar el panel Cockpit en Ubuntu 24.04 Cockpit es un panel web ligero para administrar servidores Linux, mantenido por Red Hat y disponible en los repositorios de Ubuntu, Debian y RHEL. A diferencia de otros paneles, no mantiene su propia configuración paralela: trabaja directamente con systemd, journald y las herramientas del sistema, así que lo que cambias en Cockpit es lo mismo que cambiarías por SSH. En este tutorial instalarás Cockpit en Ubuntu 24.04, lo protegerás con un firewall y un certificado de Let's Encrypt y revisarás sus funciones principales. ## Requisitos previos - Un servidor con Ubuntu 24.04 LTS, por ejemplo un VPS de CubePath. - Un usuario no root con privilegios `sudo` y contraseña. Cockpit usa las cuentas del sistema para iniciar sesión. - La dirección IP pública desde la que lo administrarás (`your_ip`). - Para el paso 5, un dominio (`your_domain`) con un registro DNS A que apunte al servidor. ## Paso 1: Instalar Cockpit Ubuntu 24.04 incluye Cockpit en sus repositorios, pero el proyecto recomienda instalarlo desde `noble-backports`, que recibe versiones mucho más recientes. Ese repositorio viene activado por defecto en Ubuntu 24.04, aunque apt no instala nada de él salvo que se lo pidas. Actualiza el índice e instala Cockpit desde backports: ```bash sudo apt update . /etc/os-release sudo apt install -t ${VERSION_CODENAME}-backports cockpit ``` El paquete `cockpit` instala también, como recomendados, los módulos de almacenamiento (`cockpit-storaged`), red (`cockpit-networkmanager`) y actualizaciones de software (`cockpit-packagekit`). Comprueba la versión instalada: ```bash apt policy cockpit | head -3 ``` ```output cockpit: Installed: 362-1~bpo24.04.1 Candidate: 362-1~bpo24.04.1 ``` ## Paso 2: Activar el servicio Cockpit se activa por socket: systemd escucha en el puerto 9090 y solo arranca el servicio cuando alguien se conecta, por lo que no consume recursos mientras nadie lo usa. Habilita el socket: ```bash sudo systemctl enable --now cockpit.socket ``` Verifica que está escuchando: ```bash sudo systemctl status cockpit.socket --no-pager ``` ```output ● cockpit.socket - Cockpit Web Service Socket Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; preset: enabled) Active: active (listening) since Thu 2026-09-24 09:41:07 UTC; 12s ago Listen: [::]:9090 (Stream) ``` ## Paso 3: Permitir el acceso en el firewall Abre SSH y el puerto 9090 solo para tu IP antes de activar UFW: ```bash sudo ufw allow OpenSSH sudo ufw allow from your_ip to any port 9090 proto tcp sudo ufw enable sudo ufw status ``` ```output Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 9090/tcp ALLOW your_ip OpenSSH (v6) ALLOW Anywhere (v6) ``` Cockpit da acceso a una terminal y a la administración completa del sistema. No lo dejes abierto a todo Internet. ## Paso 4: Iniciar sesión Abre `https://your_server_ip:9090` en el navegador. Cockpit genera al instalarse un certificado autofirmado, así que el navegador mostrará un aviso que puedes aceptar por ahora. Inicia sesión con tu usuario `sudo` y su contraseña. El usuario `root` no puede entrar: está incluido en `/etc/cockpit/disallowed-users`, y es mejor mantenerlo así. Al entrar, Cockpit está en **acceso limitado**. Para hacer cambios en el sistema, pulsa el botón **Acceso limitado** (**Limited access** si la interfaz está en inglés) de la barra superior y vuelve a escribir tu contraseña. Cockpit usará `sudo` para las acciones que lo requieran. ## Paso 5: Usar un certificado de Let's Encrypt Cockpit lee sus certificados del directorio `/etc/cockpit/ws-certs.d/`. Usa el último archivo `.crt` o `.cert` en orden alfabético, con una clave privada del mismo nombre y extensión `.key`. El autofirmado se llama `0-self-signed.cert`, así que un archivo con el nombre de tu dominio tendrá prioridad. Instala Certbot y abre temporalmente el puerto 80 para la validación: ```bash sudo apt install certbot sudo ufw allow 80/tcp ``` Obtén el certificado en modo `standalone`. Sustituye `your_domain` y `your_email`: ```bash sudo certbot certonly --standalone -d your_domain -m your_email --agree-tos --no-eff-email ``` En lugar de copiar los archivos a mano, crea un hook de despliegue que Certbot ejecutará ahora y en cada renovación: ```bash sudo nano /etc/letsencrypt/renewal-hooks/deploy/cockpit.sh ``` ```bash #!/usr/bin/env bash set -euo pipefail domain="your_domain" src="/etc/letsencrypt/live/${domain}" dst="/etc/cockpit/ws-certs.d" install -m 644 "${src}/fullchain.pem" "${dst}/${domain}.crt" install -m 600 "${src}/privkey.pem" "${dst}/${domain}.key" systemctl try-restart cockpit.service ``` Hazlo ejecutable y ejecútalo una vez para instalar el certificado actual: ```bash sudo chmod 755 /etc/letsencrypt/renewal-hooks/deploy/cockpit.sh sudo /etc/letsencrypt/renewal-hooks/deploy/cockpit.sh ``` Comprueba qué certificado va a usar Cockpit: ```bash sudo /usr/lib/cockpit/cockpit-certificate-ensure --check ``` ```output Would use certificate /etc/cockpit/ws-certs.d/your_domain.crt ``` Abre ahora `https://your_domain:9090`: el navegador ya no mostrará ningún aviso. Prueba que la renovación funciona: ```bash sudo certbot renew --dry-run ``` Con `--standalone` la renovación necesita el puerto 80 accesible, así que deja abierta esa regla de UFW. ## Paso 6: Ajustar la sesión La configuración de Cockpit va en `/etc/cockpit/cockpit.conf`, que no existe hasta que lo creas. Un ajuste útil es cerrar las sesiones inactivas: ```bash sudo nano /etc/cockpit/cockpit.conf ``` ```ini [Session] IdleTimeout=15 ``` `IdleTimeout` se expresa en minutos. Reinicia el servicio para aplicarlo: ```bash sudo systemctl restart cockpit.service ``` Si más adelante publicas Cockpit detrás de un proxy inverso con otro dominio, tendrás que añadir en ese mismo archivo una sección `[WebService]` con la clave `Origins` indicando la URL pública, o el navegador no podrá abrir la conexión WebSocket. ## Paso 7: Recorrer las funciones principales Estas son las secciones que más usarás en un servidor: - **Visión general:** estado del sistema, uso de CPU y memoria, y acceso a las gráficas de rendimiento. - **Registros:** el journal de systemd filtrable por prioridad, servicio y fecha. Es el equivalente gráfico de `journalctl -p err -u nombre_servicio`. - **Servicios:** unidades, sockets y temporizadores de systemd. Desde aquí puedes arrancar, parar, habilitar y ver el log de cada servicio. - **Almacenamiento:** discos, particiones, sistemas de archivos, LVM y RAID, además del uso de cada punto de montaje. - **Cuentas:** usuarios locales, sus grupos y sus claves SSH autorizadas. - **Terminal:** una shell con tu usuario dentro del navegador, útil cuando no tienes un cliente SSH a mano. Para comprobar que la administración funciona, abre **Servicios**, busca `cron.service` y revisa su estado y sus últimas líneas de log. ### Añadir la gestión de contenedores Podman Si ejecutas contenedores con Podman, el módulo `cockpit-podman` permite ver, arrancar y crear contenedores y descargar imágenes desde el panel: ```bash sudo apt install cockpit-podman ``` Recarga la página y aparecerá una nueva sección para los contenedores de Podman. Este módulo no gestiona contenedores de Docker. ## Solución de problemas **La sección Red no permite editar las interfaces.** Ubuntu Server configura la red con netplan y systemd-networkd, mientras que Cockpit solo gestiona interfaces controladas por NetworkManager. Las verás como no gestionadas. Sigue configurando la red con netplan: cambiar el gestor de red de un servidor remoto puede dejarlo sin conexión. **La sección de actualizaciones muestra "Cannot refresh cache whilst offline".** Es un efecto del mismo problema: PackageKit consulta a NetworkManager si hay conexión y, al no gestionar ninguna interfaz, cree que el servidor está desconectado. Actualiza el sistema con `sudo apt update && sudo apt upgrade` por SSH o desde la terminal de Cockpit. **No puedes iniciar sesión.** Confirma que el usuario tiene contraseña (los usuarios creados solo con clave SSH no la tienen) y que no aparece en `/etc/cockpit/disallowed-users`. Los errores de autenticación quedan en el journal: ```bash sudo journalctl -u cockpit.service --since "15 min ago" ``` ## Conclusión Cockpit está instalado desde backports, se activa solo cuando lo usas, sirve un certificado de Let's Encrypt que se renueva automáticamente y solo es accesible desde tu IP. Como siguientes pasos, añade otros servidores desde el selector de hosts para gestionarlos por SSH desde el mismo panel y revisa la sección **Registros** tras cada cambio importante.