Checked the permission of root direcotory and found root was not owner of root directory on one of the server. I changed the owner to root and now it is working fine...
FYI on Solaris 11
The default install sets root up as a role. This breaks ssh public key authentication for root as it always prompts for a password and the sshd server (in debug mode) always errors out with "Failed publickey for root from X.X.X.X port XXXX ssh2 debug 1.
The quick solution for the above is to set root back to a "normal" account type by running the following command (this edits the /etc/user_attr file):
rolemod -K type=normal root
I wasted half a day on this. Hope this helps someone else out there.