How often do you copy and paste the contents of ~/.ssh/ to remote ~/.ssh/authorized_keys?

With ssh-copy-id its easy!

Say you need to copy your public key to, this would do the trick:


Here is the man file:


ssh-copy-id – install your public key in a remote machine’s authorized_keys

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

ssh-copy-id is a script that uses ssh to log into a remote machine and append the indicated identity file to that machine’s ~/.ssh/authorized_keys file.

If the -i option is given then the identity file (defaults to ~/.ssh/ 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.)

This program does not modify the permissions of any pre-existing files or directories. Therefore, if the remote sshd has StrictModes set in its configuration, then the user’s home, ~/.ssh folder, and ~/.ssh/authorized_keys file may need to have group writabil‐
ity disabled manually, e.g. via

chmod go-w ~ ~/.ssh ~/.ssh/authorized_keys

on the remote machine.

ssh(1), ssh-agent(1), sshd(8)