Access Failure — Read Before Declaring A Blocker

If an SSH or Forgejo Git command returns Permission denied (publickey), authentication failed, or looks like an expired/wrong token, do not conclude the credential is broken, and do not fall back to hacks — no direct DB inserts, HTTPS push, bare-repo creation, root@, pi@, or swapping in another key. That symptom is almost always the wrong port or wrong user, not an unauthorized key:

When in doubt, run from-house-secrets doctor first — it self-tests Forgejo Git auth on the correct port and tells you the truth in one command.

Do not configure global Git url.*.insteadOf rewrites that turn ssh://git@100.120.38.37:2223/... into an SSH alias such as ssh://forgejo-pi4/.... Local repo remotes may use an alias when ~/.ssh/config defines it, but the feed-contract URL must stay raw so from-house-secrets doctor and other ssh -F /dev/null checks cannot be hijacked by user Git config.