How can I mount an encrypted home directory upon SSH login using private/public key to authenticate?

Solution 1:

~/.ssh/authorized_keys allows you to specify the command that will execute upon ssh login.

You can write a shell script that will mount partition (even ask a password for it) and then "exec bash" or "exec zsh" etc.