Question

Permission Denied (PublicKey)

Hey there. For starters, I am a total noob to server set up. What I need to do is set up SSH log in to my VPS. For reference, I am using Ubuntu 14.04 and I used PuttyGen to make my key.

I connected my public key with my DigitalOcean account, and so my new server was made with an SSH included. I have two questions: What are the details that I would need to send someone to allow them to log into my server with SSH?

And finally, whenever I try to log into my server with SSH from a console, by doing a command like: ssh MYIPADDRESS, it says PublicKey Denied. I am able to connect with my private key no problem, but I know that i should not share that and so I must find otherways to connect. Any help is appreciated, thank you.

So basically, I can connect with Putty using private key, but cannot connect any other way!

Subscribe
Share

Here is my debug log when I do ssh -v MYIP root@MollyBabesHost:~# ssh -v 159.203.22.31 OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to 159.203.22.31 [159.203.22.31] port 22. debug1: Connection established. debug1: permanently_set_uid: 0/0 debug1: identity file /root/.ssh/id_rsa type -1 debug1: identity file /root/.ssh/id_rsa-cert type -1 debug1: identity file /root/.ssh/id_dsa type -1 debug1: identity file /root/.ssh/id_dsa-cert type -1 debug1: identity file /root/.ssh/id_ecdsa type -1 debug1: identity file /root/.ssh/id_ecdsa-cert type -1 debug1: identity file /root/.ssh/id_ed25519 type -1 debug1: identity file /root/.ssh/id_ed25519-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.10 debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubu ntu-2ubuntu2.10 debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.10 pat OpenSSH_6.6.1* compat 0x04 000000 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com none debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com none debug1: sending SSH2_MSG_KEX_ECDH_INIT debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ECDSA 1c:5b:04:f7:15:5f:6d:96:e0:a3:92:dc:66:ed:ab:9f debug1: Host ‘159.203.22.31’ is known and matches the ECDSA host key. debug1: Found key in /root/.ssh/known_hosts:1 debug1: ssh_ecdsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: /root/.ssh/id_rsa debug1: Trying private key: /root/.ssh/id_dsa debug1: Trying private key: /root/.ssh/id_ecdsa debug1: Trying private key: /root/.ssh/id_ed25519 debug1: No more authentication methods to try. Permission denied (publickey).


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hey friend!

Great questions. So the reason for the failure in this case may be that your private key is not in the default location for the OpenSSH CLI client. You say your private key works elsewhere, I assume you’re feeding it manually to a different application. You could point OpenSSH to it as well like this:

ssh -i /path/to/privatekey root@serverIP

As for giving someone else access, just ask for their public key and put it in /root/.ssh/authorized_keys on the droplet. They would be able to log in with their own private key then.

Hope this helps :)

Jarland