I am trying to migrate my personal nextcloud instance. The original instance was installed on hardware, the new instance is installed as a snap.
Both servers are running version 17.0.1
- Merged the
config.php from the original instance into the snap version, keeping
passwordsalt from the original
- Imported a database dump from the original server
- rsynced the data folder
The problem I have now is that no user password works.
If I reset my users password using
nextcloud.occ I can log in and everything looks fine.
Since I have some family members on there I really want the migration to be seamless.
Any ideas what could be going wrong?
I just looked at the upstream config.php template and it says
* @deprecated This salt is deprecated and only used for legacy-compatibility,
* developers should *NOT* use this value for anything nowadays.
Could my old server have used legacy-compatibility? How can I find out? Where is this configured?
I have cleared the bruteforce table and verified that the hash in oc_users is the correct bcrypt hash for my password.
The logfile only says that login failed and that a bruteforce attempt was registered.
Is it using the same hash-algorithm? Perhaps there is one that is not installed in your snap?
With the same
config.php, you should have everything for the right salts.
When I reset the passwords it creates new bcrypt passwords, so I should be OK there.
The only thing different is the domain used to access the instance. I’ll test that.
I give up. I will reset all user passwords. No clue what the actual issue was.
have the same issue - problem is missing PHP argon2 support on the new server!
NextCloud always chooses the highest security standard available to encrypt passwords:
Hence, to make your passwords work again, you need to run NextCloud on a PHP version compiled with argon2 support - or, as you did, reset all passwords!
This would be a nice thing to include in the system/PHP requirements page https://docs.nextcloud.com/server/18/admin_manual/installation/system_requirements.html