If you are a happy iPhone owner and you are an ssh geek, then the first thing you will install on your iPhone is OpenSSH.

You will be happy with the installation, but you will find no GUI on your device, so it is supposedly accepting your ssh connections. Great, now find your iPhone IP and go ssh it with root login. Of course it is not passwordless, after googling this you will find it is 'dottie' prior to firmware 1.1.1 and 'alpine' later on. In the same site (OpenSSH) you are advised to change your root password, so intuitive: "You should change your password, after you install OpenSSH. Everyone knows the default password".

Now login, fire passwd command and change it. Congratulations, you have put your iPhone in a wreck! After restarting it you will get a notice "Edit home screen" and the springboard crashes and restarts infinitely! If you try to connect it to your Mac or PC to reset it, or even jailbreak it, you will find your Mac/PC clueless and can't even discover the device.

Being trapped in such frustration for more than an hour, I finally found someone talking about this problem and saying that changing the root password causes this and one should restore the old password files. The hard point is that I changed the password and did a lot of things then restarted the device so I never related the problem to its real cause.

So, the passwd binary is not working for the iPhone. Either don't change your password or hash it manually using the guide above.

phew, restarting your iPhone now solves the problem. Play wisely, even conservatively, with your little cute iPhone.