Short Answer
You probably can't - talk to your sysadmin.
Longer Answer
First of all, the fact that the /home directory is empty (and even if it doesn't exist) doesn't necessarily mean that your user doesn't have a home directory. You can try looking at the value of the HOME environment variable:
$ echo $HOME /path/to/nonstandard/homedirectory
or use the getent command:
$ getent passwd username username:*:1001:1001:User Name:/path/to/nonstandard/homedirectory:/bin/bash
If it turns out that your user really does not have a home directory then it still might be possible to use a public key if your server administrator has set a nonstandard location for your authorized_keys file.
Assuming you're using OpenSSH, the location of the authorized_keys file can be specified by the AuthorizedKeysFile keyword in the sshd_config configuration file. Consult the documentation for more information:
The default value is ~/.ssh/authorized_keys. You'll have to look at the settings in /etc/ssh/sshd_config to see if the default is being over-ridden. Since you don't have root access you'll probably have to ask your system administrator for help if you want to make any changes.
If it turns out that you don't have a home directory, that your system administrator hasn't configured a different location for your authorized_keys file, and you don't have administrative privileges on your machine, then you probably won't be able to use key-based authentication - talk to your sysadmin.