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)
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.
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.