SSH attack tracking, firewall, open ports, processes, Docker and a terminal in your browser. A lightweight agent installed with one command, real-time data. Free, and it stays free.
Instead of installing separate tools and SSH-ing into each box, see all your servers on one screen.
A real PTY session to every server from the panel. Multiple tabs, command history, live metrics in the side panel.
Collects failed logins by source IP and username. Opens an event when brute-force intensifies, bans the IP with one click, installs fail2ban.
ufw status, every listening port and which process opened it. Close a port or restrict it to specific IPs; DOCKER-USER rules for Docker ports.
CPU, RAM, disk, load and network traffic updated every 10 seconds; events on disk and RAM thresholds.
CPU and RAM history kept for 7 days. Go back 1 hour, 6 hours, 24 hours or 7 days and see when the load started.
Firewall, SSH settings, fail2ban, pending security updates, exposed database ports, passwordless accounts. Every item fixed with one click.
Sort running processes by CPU/RAM and terminate them; read journal and file logs with filters.
Containers, their state and logs. Start, stop and restart from the panel.
Critical / warning / info event stream: new attacker IPs, SSH logins, offline servers, critical findings.
Generate a key pair in the panel, distribute the public key to all servers, disable password login safely.
A full PTY session without opening an SSH client. Connect to several servers at once with tabs, see your command history, watch CPU, RAM and load flow in the side panel. The session runs over encrypted WebSocket, behind 2FA.
root@web-01:~# fail2ban-client status sshd Status for the jail: sshd |- Filter | |- Currently failed: 3 | `- Total failed: 412 `- Actions |- Currently banned: 27 `- Total banned: 1.204 root@web-01:~# systemctl status nginx | head -3 ● nginx.service - web server Loaded: loaded (nginx.service; enabled) Active: active (running) since Mon 09:12:04 root@web-01:~#
CPU, RAM and disk metrics are recorded continuously. Go back 1 hour, 6 hours, 24 hours or 7 days and see on the chart when that 3 AM load or the filling disk started.
Every server gets a 0–100 security score. Each item that lowers the score maps to an action: enable the firewall, close root login, install fail2ban, close the open port. Applied without touching the command line; you see the result in the score instantly.
Username, email and password. No credit card, plan selection or trial period.
Run the one-liner the panel gives you on the server. The agent is a single Python file, open source, running as a systemd service.
The server appears in the list within seconds; the first security scan and score are ready.
AdminXO started as a tool we wrote to manage our own servers. No paid tier, server limit or "pro" feature; everyone runs the same version.
Yes. No server or feature limits. There is no paid plan.
Around 20 MB of RAM idle and under 0.1% CPU. A single Python file running as a systemd service; it installs no extra packages.
Only your account. Terminal and command execution are protected by optional 2FA. The agent only opens outbound connections; it never listens on a new port.
Ubuntu 20.04+, Debian 11+, x86_64 and ARM64. Other systemd-based distributions usually work.
Metrics and events live in this panel's database; metric history is deleted after 7 days, events after 60. The panel is open source and you can self-host it.
"Delete server" in the panel or `sudo /opt/adminxo/uninstall.sh` on the server. It leaves no files behind.
Setup takes 2 minutes. Free, no card, no limits.