I have a public key in a server(host) that I want to transfer to another server(target).

The host server has a bunch of keys in .ssh/ folder, i want to copy just one of them to the target server (it's not id_rsa.pub, so lets call mykey.rsa.pub).

Also, the target server has the host server key (lets call hostkey.rsa.pub) in .ssh/authorized_keys, for passwordless ssh.

Is it possible to do something like this?

ssh-copy-id mykey.rsa.pub -i hostkey.rsa.pub user@target


You can pass ssh options with -o:

ssh-copy-id -i mykey.rsa.pub -o "IdentityFile hostkey.rsa" user@target
  • 1
    This should be the accepted answer. – mastazi Oct 5 '17 at 4:54
  • 3
    Worked for me but I had to add -f before -i. – baptx Mar 21 '20 at 14:40

Yes, it is possible something like

ssh-copy-id -f -i hostkey.rsa.pub user@target

with latest version of ssh-copy-id. If you have some older, it might or might not work (with RHEL7 and older Fedora with SSH_COPY_ID_LEGACY=1 environment variable)

  • Also make sure the -i option is BEFORE user@target. -f might not be needed. – Jerther Sep 22 '17 at 13:05

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.