What is the best method for editing the /root/.ssh/authorized_keys file?

I mean if I need to append a new key to my authorized_keys file, than what are the best methods to do that?

2 Answers 2


Try just to edit the file and paste key on the end.
You want automated? Try from server where you want to add key to do:

ssh-copy-id -i id_rsa.pub login@hostname

You can always try ssh-add on the server where you have an authorized_keys file stored.

Plenty of opportunities :D

  • 8
    Also cat keyfile >>authorized_keys
    – enzotib
    Dec 17, 2011 at 15:12
  • What should go as hostname ?
    – User
    Nov 3, 2015 at 0:19

Each line is an independent entry. You can grep them to filter, sed -i~ /pattern/d authorized_keys to delete lines, say all those from some server, or cat new-entries >> authorized_keys to add lines to the end.

  • there is two problem with "cat new-entries >> authk. Dec 18, 2011 at 15:34
  • 1
    1) people could mistype ">>" to ">" so the file is gone.. Dec 18, 2011 at 15:35
  • 1
    2) if there isn't any newline char in the authorized_keys file, then cat/echo will append the new public key to the end of the last line... :\ Dec 18, 2011 at 15:35
  • 2
    The cat method is the one most frequently used and suggested. If it doesn't end in a newline, it's not a well-formed text file.
    – Kevin
    Dec 18, 2011 at 17:53
  • @Lance: Wrt. 1, I can't say I've ever done that, but if you are prone to this kind of thing, try using sed -i~ 'r$ new-entries', since that creates a backup file. Wrt. 2., this is easily enough fixed with a text editor, and as Kevin says, you should pay a bit of attention to the semantics of what you are doing. Dec 18, 2011 at 18:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.