37

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

Lucas Mattos
  • 483
  • 1
  • 4
  • 5

2 Answers2

48

You can pass ssh options with -o:

ssh-copy-id -i mykey.rsa.pub -o "IdentityFile hostkey.rsa" user@target
olivier
  • 596
  • 5
  • 2
16

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)

Jakuje
  • 9,715
  • 2
  • 42
  • 45
  • 1
    Also make sure the -i option is BEFORE user@target. -f might not be needed. – Jerther Sep 22 '17 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 '22 at 11:31