ssh-copy-id spécifiant quelle clé et sans mot de passe

17

J'ai une clé publique sur un serveur ( hôte ) que je souhaite transférer vers un autre serveur ( cible ).

Le serveur hôte a un tas de clés dans le .ssh/dossier, je veux copier une seule d'entre elles sur le serveur cible (ce n'est pas le cas id_rsa.pub, alors appelons mykey.rsa.pub).

De plus, le serveur cible possède la clé du serveur hôte (permet d'appeler hostkey.rsa.pub) .ssh/authorized_keys, pour ssh sans mot de passe.

Est-il possible de faire quelque chose comme ça?

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

Lucas Mattos
la source

Réponses:

25

Vous pouvez passer des sshoptions avec -o:

ssh-copy-id -i mykey.rsa.pub -o "IdentityFile hostkey.rsa" user@target
Olivier
la source
1
Cela devrait être la réponse acceptée.
mastazi
A fonctionné pour moi mais j'ai dû ajouter -favant -i.
baptx
10

Oui, c'est possible quelque chose comme

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

avec la dernière version de ssh-copy-id. Si vous en avez un plus ancien, cela pourrait ou non fonctionner (avec RHEL7 et Fedora plus ancien avec SSH_COPY_ID_LEGACY=1variable d'environnement)

Jakuje
la source
Assurez-vous également que l'option -i est AVANT l'utilisateur @ cible. -f peut ne pas être nécessaire.
Jerther