How to provide "private key" on first time log-on password challenge

November 17, 2016 1.6k views
Configuration Management DigitalOcean Security Ubuntu 16.04

Reference:Tutorial Initial server setup with ubuntu 14.04

Please explain this passage from the tutorial:

  • Complete the login process by accepting the warning about host authenticity, if it appears, then providing your root authentication (password or private key). If it is your first time logging into the server, with a password, you will also be prompted to change the root password.

Specifically how do I, AT THIS POINT "provide your root authentication(private key)"

Please notice that during droplet creation I checked "use my ssh key" so no password has been sent to me. So I have no password. I would have to reset my password to get one mailed to me, but that defeats the purpose of attaching my ssh key in the first place. but more importantly
Here the instructions implies that at the point you can provide your password you have also the choice of providing your ssh key:

~ $ssh root@
The authenticity of host ' (' can't be established.
ECDSA key fingerprint is SHA256:TG8vLElrAYDRd6Mudtd+WklzpA1LTLnZQCKtRBxkn/4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '' (ECDSA) to the list of known hosts.
root@'s password:

How do I instead of a password provide a private key?

Again: then providing your root authentication (password or private key)

1 Answer

If you are being prompted for the remote user's password, it means either

  1. your ssh client did not use an ssh key
  2. it did use one, but it was rejected

Since you added your ssh key to your Droplet while creating it, and you are logging in as root, it's most likely the first scenario. Try passing the path to your private key to ssh like so: ssh -i /path/to/ssh_key root@ip. If that doesn't work, pass -vv right before -i. This will enable more verbose output and should help you figure out what's going on.

Have another answer? Share your knowledge.