ssh-copy-id określający, który klucz i bez hasła

17

Mam klucz publiczny na serwerze ( hoście ), który chcę przenieść na inny serwer ( cel ).

Serwer hosta ma kilka kluczy w .ssh/folderze, chcę skopiować tylko jeden z nich na serwer docelowy (tak nie jest id_rsa.pub, więc zadzwoń mykey.rsa.pub).

Ponadto serwer docelowy ma klucz serwera hosta (pozwala na wywołanie hostkey.rsa.pub) .ssh/authorized_keys, dla ssh bez hasła.

Czy można zrobić coś takiego?

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

Lucas Mattos
źródło

Odpowiedzi:

25

Możesz przekazać sshopcje za pomocą -o:

ssh-copy-id -i mykey.rsa.pub -o "IdentityFile hostkey.rsa" user@target
Olivier
źródło
1
To powinna być zaakceptowana odpowiedź.
mastazi
Pracował dla mnie, ale musiałem dodać -fwcześniej -i.
baptx
10

Tak, możliwe jest coś takiego

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

z najnowszą wersją ssh-copy-id. Jeśli masz trochę starszych, to może, ale nie musi działać (z RHEL7 i starszą Fedorą ze SSH_COPY_ID_LEGACY=1zmienną środowiskową)

Jakuje
źródło
Upewnij się także, że opcja -i to PRZED użytkownikiem @ cel. -f może nie być potrzebny.
Jerther