Plusieurs clés privées SSH, c'est possible?

11

Est-il possible d'avoir plusieurs clés SSH dans un seul client et de laisser ssh choisir automatiquement la bonne?

Marguerite
la source

Réponses:

16

Vous pouvez avoir différentes clés privées dans différents fichiers et les spécifier toutes en ~/.ssh/configutilisant des IdentityFilevaleurs distinctes (ou en utilisant l' -ioption lors de l'exécution ssh). Ils seraient jugés en séquence (paiement man 5 ssh_config).

Si vous utilisez ssh-agentcependant, vous devrez peut-être informer l'agent des multiples clés que vous utilisez ssh-add.

Anil
la source
Notez que si un compte possède plusieurs clés valides (par exemple parce que vous utilisez authorized_keyspour exécuter des commandes spécifiques au lieu d'un shell), vous devrez peut-être utiliser l' IdentitiesOnly yesoption pour vous assurer de ssh-agentne pas utiliser la mauvaise. Voir aussi unix.stackexchange.com/q/52092/863
Tobias Kienzler
10

Oui:

-i identity_file

Sélectionne un fichier à partir duquel l'identité (clé privée) pour l'authentification par clé publique est lue. La valeur par défaut est ~/.ssh/identitypour le protocole version 1, et ~/.ssh/id_dsa, ~/.ssh/id_ecdsaet ~/.ssh/id_rsapour le protocole version 2. Les fichiers d'identité peuvent également être spécifiés par hôte dans le fichier de configuration. Il est possible d'avoir plusieurs -ioptions (et plusieurs identités spécifiées dans les fichiers de configuration). ssh essaiera également de charger les informations de certificat à partir du nom de fichier obtenu en les ajoutant -cert.pubaux noms de fichiers d'identité.

Ajoutez simplement -ipour chaque identité, ou utilisez plusieurs IdentityFilelignes en vous .ssh/config.

Stéphane Gimenez
la source