Passwords don't work after server migration

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

I have:

  • Merged the config.php from the original instance into the snap version, keeping instanceid, secret and 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.

w.r.t. passwordsalt
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!


1 Like

This would be a nice thing to include in the system/PHP requirements page