403 means you probably still have an authentication issue. I would suspect a push URL issue. The rules have changed over the years. For example, the git: scheme is no longer allowed. The same is true for plain http:.
Check the push URL defined in the repo's config file (i.e. .git\config)
These days, I usually use something like:
url =
https://StevenLevine@github.com/StevenLevine/php-os2.gitThere's rarely a need for a specific pushurl.
Can you push to any repo?
A git push --dry-run to your repo fails here as expected. I have a known good token, but no permission to push to the repo.
FWIW, I maintain a sandbox repo for working out these kinds of issues. I can tune the access permissions without messing with the production repos.