Oliver Davies

How to use Authorized Keys to Create a Passwordless SSH Connection

1st February 2012

Warning: This post is over a year old. I don't always update old posts with new information, so some of this information may be out of date.

If you're accessing Linux servers or automating tasks between servers, rather than having to enter your user password every time, you can also use SSH public key authentication. This is a simple process that involves creating a local key and storing it within the authorized_keys file on the remote server.

  1. Check if you already have a SSH key. $ ssh-add -L
  2. If you don't have one, create one. $ ssh-keygen
  3. Upload the key onto the server. Replace myserver with the hostname or IP address of your remote server. $ ssh-copy-id myserver

If you're using Mac OS X and you don't have ssh-copy-id installed, download and install Homebrew and run the brew install ssh-copy-id command.

If successful, you should now see a message like:

Now try logging into the machine, with "ssh 'myserver'", and check in:

~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Now the next time that you SSH onto the server, it should log you in without prompting you for your password.

Questions? Comments? I’m @opdavies on Twitter, or send me an email.

Tags

About the Author

Picture of Oliver

Oliver Davies is a full-stack Web Developer and System Administrator based in the UK. He is a Senior Developer at Microserve and a part-time freelancer specialising in Drupal, Symfony and Laravel development and Linux systems administration.