VOOZH about

URL: https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-2

⇱ How To Set Up SSH Keys on Ubuntu 12.04 | DigitalOcean


How To Set Up SSH Keys on Ubuntu 12.04

Updated on December 15, 2021
Not using Ubuntu 12.04?
Choose a different version or distribution.
Ubuntu 12.04
👁 How To Set Up SSH Keys on Ubuntu 12.04

Introduction

The Secure Shell Protocol (or SSH) is a cryptographic network protocol that allows users to securely access a remote computer over an unsecured network.

Though SSH supports password-based authentication, it is generally recommended that you use SSH keys instead. SSH keys are a more secure method of logging into an SSH server, because they are not vulnerable to common brute-force password hacking attacks.

Generating an SSH key pair creates two long strings of characters: a public and a private key. You can place the public key on any server, and then connect to the server using an SSH client that has access to the private key.

When the public and private keys match up, the SSH server grants access without the need for a password. You can increase the security of your key pair even more by protecting the private key with an optional (but highly encouraged) passphrase.

Note: If you are looking for information about setting up SSH keys in your DigitalOcean account, please refer to our DigitalOcean product documentation on SSH Keys

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the author(s)

Former Director of Community at DigitalOcean. Expert in cloud topics including LAMP Stack, CentOS, Ubuntu, MySQL, SSL certificates, and more.

Senior Technical Writer at DigitalOcean

Still looking for an answer?

Was this helpful?

This textbox defaults to using Markdown to format your answer.

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

If you don’t have ssh-copy-id you can use the following command: cat ~/.ssh/id_rsa.pub | ssh user@machine “cat >> ~/.ssh/authorized_keys”

Hey Matt,

Great suggestion, we’ll update the article with that.

Dear Digital Ocean. You guys make the best tutorials. Thank you so much.

Great article, but what if your client is a Windows box and you’ve generated your public key with Puttygen, then need to transfer it to your VPS? Is there any way to copy-paste the public key, for example using nano? I’d rather not create a completely new server using the ‘Addendum’ method.

If you are copying the key over to a server you can certainly SSH and in and use nano/vi or any other editor and copy and paste it in. Just make sure that the formatting is preserved and no new line characters are added.

If I misunderstood the question let me know.

Wow, thanks for the quick reply on a Sunday night :-) I tried that and must have made a mistake as I couldn’t get it to work. I had created a way too large DSA key anyway. Since I’m trying to learn anyway, I’ve decided to recreate a droplet from scratch and get this down before I proceed. I’ll try integrating the SSH key through your ‘addendum’ method next time. I’m assuming I can just copy-paste the entire key, or do I have to omit lines like '---- BEGIN SSH2 PUBLIC KEY ---- Comment: “rsa-key-20130121”?

I think you may be looking at the wrong file possibly, because when the key is created the public one that you should be sharing doesn’t have any comments, so you can copy and paste it directly.

Please make sure that you are copying and pasting from the file that ends in “.pub”

I’m pretty sure I had the correct file, but to make sure I’ve put an exact copy/paste on Pastebin: http://pastebin.com/Hzi30uMM Apparently puttygen adds lines Linux doesn’t?

On Linux you would get : ssh-dss AAAAB3NzaC1yc2EAAAABJQAAAQEAgj… user@host

That should all be on one-line, the ssh-dss portion is because the key was created with dsa instead of rsa.

But thats what it should look like and you should paste it in on one line.

Right. Just to make sure I’ve got everything down correctly: if my username were ocean and my IP were 185.14.185.149, and my key were in ssh2-rsa the correct format would be:

ssh-rsa [key with all line breaks removed] ocean@185.14.185.149

Which I can then add to the Digital Ocean control panel and will be integrated in any future droplets I create.

Correct? Thanks!

👁 Creative Commons
This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International License.
  • Deploy on DigitalOcean

    Click below to sign up for DigitalOcean's virtual machines, Databases, and AIML products.

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and AI-native businesses

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

© 2026 DigitalOcean, LLC.Sitemap.
Dark mode is coming soon.