web-dev-qa-db-fra.com

Définition de l'emplacement de la clé ssh par défaut

ssh recherchera ses clés par défaut dans le dossier ~/.ssh. Je veux le forcer à toujours chercher dans un autre endroit.

La solution de contournement que j'utilise consiste à ajouter les clés de l'emplacement non standard à l'agent:

ssh-agent
ssh-add /path/to/where/keys/really/are/id_rsa 

(sous Linux et MingW32 Shell sous Windows)

53
tardate

Si vous cherchez uniquement à pointer vers un emplacement différent pour votre fichier d'identité, vous pouvez modifier votre fichier ~/.ssh/config avec l'entrée suivante:

IdentityFile ~/.foo/identity

man ssh_config pour trouver d'autres options de configuration.

80
Drew Frezell

man ssh me donne cette option qui pourrait être utile.

-i fichier_identité Sélectionne un fichier à partir duquel l'identité (clé privée) pour l'authentification RSA ou DSA est lue. La valeur par défaut est ~/.ssh/identity pour le protocole version 1, et ~/.ssh/id_rsa et ~/.ssh/id_dsa pour le protocole version 2. Les fichiers d'identité peuvent également être spécifiés par hôte dans la configuration fichier. Il est possible d'avoir plusieurs options -i (et plusieurs identités spécifiées dans les fichiers de configuration).

Vous pouvez donc créer un alias dans votre configuration bash avec quelque chose comme

alias ssh = "ssh -i/chemin/vers/clé_privée"

Je n'ai pas regardé dans un fichier de configuration ssh, mais comme le -i cette option pourrait également être aliasée

-F fichier de configuration Spécifie un autre fichier de configuration par utilisateur. Si un fichier de configuration est donné sur la ligne de commande, le fichier de configuration à l'échelle du système (/ etc/ssh/ssh_config) sera ignoré. La valeur par défaut pour le fichier de configuration par utilisateur est ~/.ssh/config.

19
roo