ssh-copy-id с указанием ключа и без пароля

17

У меня есть открытый ключ на сервере ( хост ), который я хочу перенести на другой сервер ( целевой сервер ).

На хост- сервере есть куча ключей в .ssh/папке, я хочу скопировать только один из них на целевой сервер (это не id_rsa.pubтак, поэтому давайте позвоним mykey.rsa.pub).

Кроме того, целевой сервер имеет ключ хост-сервера (позволяет звонить hostkey.rsa.pub) .ssh/authorized_keysдля ssh без пароля.

Можно ли сделать что-то подобное?

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

Лукас Маттос
источник

Ответы:

25

Вы можете передать sshварианты с -o:

ssh-copy-id -i mykey.rsa.pub -o "IdentityFile hostkey.rsa" user@target
оливье
источник
1
Это должен быть принятый ответ.
Мастази
Работал на меня, но я должен был добавить -fраньше -i.
baptx
10

Да, возможно что-то вроде

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

с последней версией ssh-copy-id. Если у вас есть старшая версия, она может работать или не работать (с RHEL7 и более старой Fedora с SSH_COPY_ID_LEGACY=1переменной среды)

Jakuje
источник
Также убедитесь, что опция -i перед пользователем @ target. -f может не понадобиться.
Джертер