I have a ticket open but i want to post here as well as I may help another user one day. I found a solution but im not sure how permanent it is. Maybe you can add some additional details? Read below for my response to the support tech working my ticket.
I think i solved the problem. Let me provide some additional color to this.
My original self-hosted instance was on one of my ESXi hosts. I moved hypervisors and now i am on XCP-NG. I redeployed my self-hosted instance again. I took my mssql backup and restored it on the new instance. Everything seemed to be working correctly until i wanted to do user management. I could not access that page hence this ticket was open.
The missing key that kept showing up in my error message when trying to access teh Users tabe was interesting so i went back to my original self-hosted deployment and i found the key in /opt/bitwarden/bwdata/core/aspnet-dataprotection
I transferred that key to my new self-hosted instance and now i am able to access the Users page.
This brings up some concerns.
Why does the new instance need the key from another self-hosted instance in order to display the Users page?
Checking the .xml of the file i noticed there is an expiration date on the key. Does that mean i will no longer be able to access the admin panel?
If i decide to migrate to another self-hosted instance is there documentation on how to corectly do this? It seems just restoring a mssql database does not work fully. Perhaps the entire bwdata/ directory should be moved over?
What if you lost your self-hosted instance and all you had was the mssql backups. As I have shown, the installation isnt fully “complete”. There is data referenced in the mssql database that may no longer exists yet there is a dependency there. That should be looked at fully. New keys should be generated for each instance and not stored in the database or at least not reference.