clusev/app
boban 7ec2c065bb fix(hardening): guard against root-login self-lockout
Disabling SSH root login (PermitRootLogin no) severs Clusev's OWN access when it
connects AS root — afterwards neither key nor password reaches root. The
password-auth toggle already guards against self-lockout; the root toggle did not.
Refuse to disable root login while the active credential's username is root, with a
clear message: add a non-root sudo user + key and switch Clusev to it first.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 00:41:50 +02:00
..
Console/Commands fix(versions): show what's-new (v-prefixed ref) + sidebar update badge (v0.9.51) 2026-06-22 00:19:27 +02:00
Events fix(blade): garbled header on every signed-in page + private metrics channel (v0.4.1) 2026-06-14 08:34:07 +02:00
Http feat(auth): guests-only BlockBannedIp middleware + 403 page 2026-06-20 17:45:16 +02:00
Jobs feat: scaffold — Dockerized Laravel 13 + Livewire 3 + Tailwind 4 + Reverb 2026-06-12 00:31:50 +02:00
Livewire fix(versions): dev box lists BOTH its source and the public repo 2026-06-24 23:51:28 +02:00
Models feat(release): publish + yank UI, strings, audit labels 2026-06-23 03:28:49 +02:00
Notifications fix(security): constant-time password-reset (flatten account-enumeration timing) 2026-06-15 19:16:30 +02:00
Providers fix(assets): drop Vite preload hints (silence 'preloaded but not used') 2026-06-19 21:50:54 +02:00
Rules feat(auth): ValidIpOrCidr validation rule 2026-06-20 17:42:06 +02:00
Services fix(hardening): guard against root-login self-lockout 2026-06-25 00:41:50 +02:00
Support feat(release): deploy-to-public, promote-to-stable, yank actions (R5 + audit) 2026-06-23 03:26:14 +02:00