Ajenti es un panel de administración de servidores ligero y de código abierto escrito en Python. A diferencia de los paneles de hosting como HestiaCP o Virtualmin, no gestiona dominios ni correo: ofrece una interfaz web para ver el estado del sistema, controlar servicios de systemd, editar archivos, abrir una terminal y administrar paquetes. En este tutorial instalarás Ajenti 2 en Ubuntu 24.04, iniciarás sesión con tu usuario sudo y restringirás el acceso al panel para que no quede expuesto a Internet.
Requisitos previos
Para seguir esta guía necesitas:
- Un servidor con Ubuntu 24.04 LTS o Debian 12, por ejemplo un VPS de CubePath.
- Un usuario no root con privilegios
sudoy una contraseña definida (Ajenti autentica contra las cuentas del sistema). - UFW activo con el acceso SSH permitido. Si aún no lo tienes, ejecuta
sudo ufw allow OpenSSHysudo ufw enable. - La IP pública desde la que vas a administrar el servidor (
your_ip), si quieres abrir el panel solo a ella.
Notael desarrollo de Ajenti avanza despacio. Pruébalo primero en un servidor que no sea crítico y, como con cualquier panel que tenga acceso de root, no lo expongas a todo Internet.
Paso 1: Instalar las dependencias
Ajenti 2 se instala en un entorno virtual de Python en /opt/ajenti. Actualiza el sistema e instala curl:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl
Paso 2: Instalar Ajenti con el script oficial
El proyecto publica un script que instala las dependencias del sistema, crea el entorno virtual, instala los paquetes de Ajenti desde PyPI y registra el servicio de systemd. Los antiguos repositorios repo.ajenti.org pertenecen a Ajenti 1, que ya no se mantiene, así que no los uses.
Descarga el script y revísalo antes de ejecutarlo:
curl -fsSL https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install-venv.sh -o ajenti-install.sh
less ajenti-install.sh
Ejecútalo con privilegios de root:
sudo bash ajenti-install.sh
La instalación tarda unos minutos, sobre todo mientras compila algunas dependencias de Python. Al terminar, comprueba que el servicio está activo y habilitado en el arranque:
sudo systemctl status ajenti --no-pager
● ajenti.service - Ajenti panel
Loaded: loaded (/etc/systemd/system/ajenti.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-09-25 10:12:31 UTC; 20s ago
Comprueba que escucha en el puerto 8000:
sudo ss -tlnp | grep 8000
LISTEN 0 128 0.0.0.0:8000 0.0.0.0:* users:(("python3",pid=2345,fd=8))
Si el servicio no arranca, revisa su registro:
sudo journalctl -u ajenti -n 50 --no-pager
Paso 3: Restringir el acceso al puerto 8000
Ajenti da acceso completo al sistema, así que no abras el puerto 8000 a todo el mundo. Elige una de estas dos opciones.
Opción A: permitir solo tu IP
Si administras el servidor desde una IP fija, permite el puerto 8000 únicamente desde ella. Sustituye your_ip por tu IP pública:
sudo ufw allow from your_ip to any port 8000 proto tcp
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
8000/tcp ALLOW your_ip
Opción B: acceder por un túnel SSH
Si tu IP cambia, no abras el puerto: accede a través de SSH. Desde tu equipo local, crea un túnel que reenvíe el puerto local 8000 al 8000 del servidor:
ssh -L 8000:localhost:8000 your_user@your_server_ip
Mientras la sesión SSH siga abierta, el panel estará disponible en https://localhost:8000 en tu navegador. Con esta opción UFW no necesita ninguna regla adicional, ya que el tráfico llega por el puerto SSH.
Paso 4: Iniciar sesión en el panel
Abre https://your_server_ip:8000 (o https://localhost:8000 si usas el túnel). Ajenti genera un certificado autofirmado durante la instalación, por lo que el navegador mostrará un aviso; acéptalo.
Inicia sesión con tu usuario del sistema (your_user) y su contraseña. Por defecto, la sesión se abre con los permisos de ese usuario. Para realizar tareas de administración, usa la opción Elevate del menú de usuario, que vuelve a pedir tu contraseña y aplica los privilegios de sudo.
Si quieres iniciar sesión como root, el usuario root necesita una contraseña, pero en Ubuntu está bloqueado por defecto y es preferible mantenerlo así y usar la elevación con sudo.
Paso 5: Usar los módulos principales
La interfaz se organiza en un menú lateral con estos módulos:
- Dashboard: widgets con la carga del sistema, el uso de CPU, memoria y disco y el tiempo de actividad. Puedes añadir o quitar widgets con el botón de edición.
- Services: lista las unidades de systemd con su estado. Desde aquí puedes iniciar, detener, reiniciar, habilitar o deshabilitar servicios sin usar
systemctl. - File manager: navega por el sistema de archivos, sube y descarga archivos y cambia permisos. Los cambios en archivos de sistema requieren haber elevado la sesión.
- Notepad: editor de texto con resaltado de sintaxis para editar archivos de configuración.
- Terminal: una consola completa en el navegador, útil cuando no tienes un cliente SSH a mano.
- Packages: busca, instala y elimina paquetes de apt.
- Plugins: instala y actualiza módulos adicionales de Ajenti.
Para comprobar que la elevación funciona, abre Services, busca cron y pulsa Restart. Después verifica desde SSH que el servicio se ha reiniciado:
systemctl status cron --no-pager | grep Active
Active: active (running) since Fri 2026-09-25 10:25:04 UTC; 12s ago
Paso 6: Revisar la configuración del panel
La configuración de Ajenti está en /etc/ajenti/config.yml. La sección bind define la dirección y el puerto de escucha, y la sección ssl, el certificado. Ábrela para revisarla:
sudo nano /etc/ajenti/config.yml
Si usas exclusivamente el túnel SSH de la opción B, puedes hacer que Ajenti escuche solo en la interfaz local cambiando host en la sección bind:
bind:
host: 127.0.0.1
mode: tcp
port: 8000
Guarda el archivo y reinicia el servicio para aplicar el cambio:
sudo systemctl restart ajenti
sudo ss -tlnp | grep 8000
LISTEN 0 128 127.0.0.1:8000 0.0.0.0:* users:(("python3",pid=2456,fd=8))
Ahora el panel no es accesible desde fuera aunque alguien abra el puerto en el cortafuegos, y sigue funcionando a través del túnel.
Paso 7: Actualizar Ajenti
Ajenti y sus plugins se actualizan desde la sección Plugins del panel, que avisa cuando hay versiones nuevas. También puedes actualizarlos desde SSH con el pip del entorno virtual:
sudo /opt/ajenti/bin/pip list --outdated | grep -i ajenti
Si aparecen actualizaciones, instálalas indicando los paquetes listados, por ejemplo:
sudo /opt/ajenti/bin/pip install --upgrade ajenti-panel ajenti.plugin.core
sudo systemctl restart ajenti
Solución de problemas
- El navegador no carga el panel. Comprueba que el servicio está activo con
sudo systemctl status ajentiy que UFW permite tu IP en el puerto 8000 consudo ufw status. Si Ajenti escucha en127.0.0.1, solo funcionará a través del túnel SSH. - El inicio de sesión falla con credenciales correctas. Ajenti usa las cuentas del sistema: confirma que el usuario tiene contraseña (los usuarios creados solo con clave SSH no la tienen) y defínela con
sudo passwd your_user. - No puedes modificar servicios o archivos de sistema. La sesión no está elevada. Usa Elevate en el menú de usuario; tu usuario debe pertenecer al grupo
sudo(compruébalo congroups your_user).
Conclusión
Ya tienes Ajenti 2 funcionando en Ubuntu 24.04 con el acceso limitado a tu IP o a un túnel SSH, y sabes gestionar servicios, archivos y paquetes desde el navegador. Ajenti es útil como complemento a SSH para tareas rápidas; si necesitas gestionar sitios web, correo y DNS para varios clientes, un panel de hosting como HestiaCP o Virtualmin encaja mejor. Como siguiente paso, revisa los plugins disponibles y protege el acceso SSH con claves y Fail2ban.
