Suggestions:
Use -t option
Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g., when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.
Is the TERM variable set in .bash_profile (or similar file).
Comment:
I use ssh (without passphrase) for my lan, no problems. Although I do need the -t option if run from crontab.
Rudeness:
Feed google with your errormessage (and get 150 hits......)