34

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

2 Answers 2

44

You can pass ssh options with -o:

ssh-copy-id -i mykey.rsa.pub -o "IdentityFile hostkey.rsa" user@target
2
  • 3
    Worked for me but I had to add -f before -i.
    – baptx
    Mar 21, 2020 at 14:40
  • it really makes no sense that it tries to copy every single key by default.
    – Goddard
    Jul 1, 2021 at 13:40
15

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)

2
  • 1
    Also make sure the -i option is BEFORE user@target. -f might not be needed.
    – Jerther
    Sep 22, 2017 at 13:05
  • I think the OP wants to copy mykey.rsa.pub. They want to use hostkey.rsa.pub for the underlying ssh connection during the copy....
    – Andrew
    Sep 13 at 11:31

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.