I ran into this a couple of years ago. http://www.zeroshell.net/eng/forum/viewtopic.php?t=538
The “$” character is special in the shell and this has not been programmed around. I found it easier to use a different password. It was really strange when it worked for shell access, but not for web.