ssh-copy-id

ssh-copy-id is a handy script that installs your public key in a remote machine's authorized_keys.

Syntax

Given that you have ssh access to the remote server (user.com) the syntax is:

ssh-copy-id user@server.example.com

or

ssh-copy-id -i ~/.ssh/id_rsa.pub root@fedwiki.org

From Manpage

ssh-copy-id is a script that uses ssh to log into a remote machine.

ssh-copy-id [-i [identity_file]] [user@]machine

It also changes the permissions of the remote user's home, ~/.ssh, and ~/.ssh/authorized_keys to remove group writability (which would otherwise prevent you from logging in, if the remote sshd has StrictModes set in its configuration).

If the -i option is given then the identity file (defaults to ~/.ssh/id_rsa.pub) is used, regardless of whether there are any keys in your ssh-agent. Otherwise, if this: ssh-add -L provides any output, it uses that in preference to the identity file. If the -i option is used, or the ssh-add produced no output, then it uses the contents of the identity file.

Once it has one or more fingerprints (by whatever means) it uses ssh to append them to ~/.ssh/authorized_keys on the remote machine (creating the file, and directory, if necessary).

Installation

ssh-copy-id comes with most linux distributions. There is a good summary of usage and installation for Linux and OSX over at cyberciti.biz

On OSX you can use brew:

brew install ssh-copy-id

Here we describe how to copy over your public ssh keys to a server on Linux and MacOS.