To answer your question, once the VPS is created with password authentication only, if you want to manually allow key authentication, you may do so. We do not restrict this. As a suggestion I've included a helpful link and outlined some steps below:
I have successfully followed this guide to configure SSH key login:
The steps are:
1. Generate public key on client machine
ssh-keygen -t rsa
2. Copy public key from client (~/.ssh/id_rsa.pub) to server machine (~/.ssh/authorized_keys):
cat ~/.ssh/id_rsa.pub | ssh root@Server_IP_Address "cat >> ~/.ssh/authorized_keys"
3. On server, edit /etc/ssh/sshd_config to enable key auth and disable password auth. Uncomment and modify below lines as shown:
PubkeyAuthentication yes AuthorizedKeyFile .ssh/authorized_keys PasswordAuthentication no ChallengeResponseAuthentication no
4. Reload SSHD on server:
service sshd reload
Pankaj
I created a centos vps and since i created that on phone, I enabled password login and did not specify any ssh key.
Now I am trying to update the config in /etc/ssh/sshd_config to disable password login and enable key based login but the config changes are not getting reflected. I am not able to login with public key.
I added a user with sudo permission. for that user, I added the key in .ssh/authorized_keys file. but ssh user@ip always asks for password.
Can someone please suggest on this what I am doing wrong or is sshd config not updatable once vps is created?