chsh error PAM: Authentication failure


One possible solution to this problem is to add the new shell to /etc/shells file. If the shell exisits in the /etc/shells, then change the contents of the file /etc/pam.d/chsh from

auth       required


auth       sufficient

You could try to create a group for users that can change their shell.

groupadd chsh
usermod -a -G chsh username
# Only users of group chsh can change their shells without a password.
auth       sufficient trust group=chsh