Remote: Gitea: Internal Server Connection Error 401 Unauthorized

My gitea version 1.20.6
My server system: arch linux

I create a new repository, clone it to local folder. Make some modification.
When I push the local repository to the remote. I got:

POST git-receive-pack (398 bytes)
remote:
remote: Gitea: Internal Server Connection Error
Pushing to https://abc.xyz/abc/abc.git
Tohttps://abc.xyz/abc/abc.git
! [remote rejected] main → main (pre-receive hook declined)
error: failed to push some refs to ‘https://abc.xyz/abc/abc.git

The gitea log prints this error

/abc/abc.git/info/refs?service=git-receive-pack for xxx.xxx.xxx.xxx:0, 401 Unauthorized in 7.2ms @ repo/githttp.go:532(repo.GetInfoRefs)

My real IP is replaced with xxx.

Now I cannot push the local repository to the remote. Can someone please tell me hwo to fix it?

Have you changed/removed INTERNAL_TOKEN in app.ini? This symptom happens when running Gitea server and app.ini no longer have the same INTERNAL_TOKEN.

So when user connects over SSH, SSH server creates new Gitea process which reads app.ini for INTERNAL_TOKEN and tries to talk to running Gitea server with that token, but the tokens do not match so fail.