Change root shell in /etc/passwd can be dangerous sometimes, Sun even recommand to never change it. But sh is annoying, prefer something like :
# echo "zsh" > ~/.profile
/etc/ssh/sshd_config
PubKeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
# svcadm refresh ssh