In order to set up ssh to only accept login by public key and not interactive login, the following changes are needed to sshd_config
PermitRootLogin without-password
Change:
#PubkeyAuthentication yes
to
PubkeyAuthentication yes
You must restart the sshd daemon next to implement:
hp-ux(HP may change this with no notice):
/sbin/init.d/secsh stop
/sbin/init.d/secsh start
Linux(RH distros):
service sshd restart
Make sure you have placed a public key file from a system you want to login and tested it first or your access will be console, hands on the keyboard only. That can be a big problem on remote systems.
For more on public key configuration and exchange, click here