| Age | Commit message (Collapse) | Author | Files | Lines |
|
authorized_keys lived under /srv/git (git's $HOME), the same tree
restic backs up and restores. backup couldn't even read it (0700,
unreadable by the backup user), and restore --delete treated it as
extraneous and deleted it, breaking push access after every restore.
git now gets a normal separate home; clone-prefix in cgitrc serves the
repos dir by absolute path instead of the ~-relative form, since that
relied on $HOME being the repos dir. Drops the sshd_config.d Include/
Match-block/AllowUsers approach tried first — it directly conflicted
with pve-lxc-ssh's sshd_config push, which fully overwrites the file
on every run and has no way to know about cgit's edits.
Co-Authored-By: Claude.ai
|
|
Restore (restic --delete) was wiping git's authorized_keys because it
lived under the same tree as the backed-up repos, and the backup user
couldn't even read it in the first place (0700, permission denied).
authorized_keys now lives at /etc/ssh/authorized_keys/git, decoupled
from backup/restore entirely.
Also add AllowUsers allowlists (pve-lxc-ssh baseline + cgit override)
and a Match block restricting the git user to key auth only, no TCP/
agent forwarding or TTY.
Co-Authored-By: Claude.ai
|
|
|
|
|
|
|
|
|
|
This is refactoring the PoC for deploying cgit on pve, to now move to a
more standard deployment with dedicated agnonstic proxy role/container
|
|
|
|
|