Text UI for the fail2ban sshd jail. Works on Ubuntu and Arch Linux. Python 3.10+ standard library only (curses). No pip packages.
- STATUS —
fail2ban-client status sshd - CONFIG — edit maxretry / findtime / bantime / ignoreip / banaction, write
/etc/fail2ban/jail.d/sshd-jailctl.local, reload sshd - MONITOR — tail Found / Ban / Unban from fail2ban.log
- BANS — list banned IPs, unban selected, manual banip
sudo apt update
sudo apt install -y fail2ban python3
sudo systemctl enable --now fail2ban
chmod +x jailctl.py
sudo python3 jailctl.pysudo pacman -S fail2ban python
sudo systemctl enable --now fail2ban
chmod +x jailctl.py
sudo python3 jailctl.py| Key | Action |
|---|---|
| 1–5 | STATUS / CONFIG / MONITOR / BANS / HELP |
| a | Apply jail + reload (CONFIG) |
| Tab / j / k | Move fields or ban list |
| Enter | Edit field |
| p | Pause monitor |
| u | Unban selected |
| b | Ban an IP |
| r | Refresh status |
| q | Quit |
Must run as root so fail2ban-client can talk to the server socket.
If MONITOR is empty, check ls /var/log/fail2ban.log or
journalctl -u fail2ban -f.