You probably can't - talk to your sysadmin.
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
or use the
$ getent passwd username
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
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.