<p>Is there a way to pass a password to ssh automatically. I would like to automatically ssh to a server <b>without</b> using public key authentication or expect scripts, by somehow getting ssh to read the password from stdin or a file.</p>

<p>The reason it has to be that way is that I would like to backup my files to a server using rsync/ssh running as a cron job. This server mounts my home directory <i>after</i> it authenticates me, so using public key authentication does not work since ~/.ssh isn't available until after the login is successful. expect(1) is out of the question because I would like to run it as a cron job, and since cron jobs don't run under a terminal the combination of expect/ssh just doesn't work. I do not have root access to that server, and it would be difficult to get the admins to make any changes to the way things work there.</p>

Rather than passing your password use a public/private key system.  Add the public key for a machine to the authorized keys list on all the machines you want to connect to. Using this method SSH can validate the keys automatically and no password is required.
You can find instructions here:
http://linuxproblem.org/art_9.html
Since I just read the question more carefully, you might want to look around for a different SSH client that supports password authentication without user interaction.  I quick google search hinted that they exist (
http://www.derkeiler.com/Newsgroups/comp.security.ssh/2004-12/0134.html
)
Related Stackoverflow questions:
How do I setup Public-Key Authentication?
Provide password using Shell script
How can I automate running commands remotely over SSH?