Si la clé n'est pas nommée id_rsa, elle ne fonctionne pas
14
J'ai créé une clé pour se connecter en SSH avec une phrase secrète. J'ai nommé ma clé id_rsa_admin. Lorsque je me connecte, le message suivant s'affichePermission denied (publickey).
Dans les journaux, je trouve que ssh recherche un fichier id_rsaet ne trouve donc pas le bon fichier.
Je trouve que si la clé n'est pas nommée, id_rsacela ne fonctionne pas.
La réponse d'Arronical est bonne pour une connexion unique, mais serait douloureuse à long terme. Afin de sshtoujours utiliser cette clé lors de la connexion à ce serveur, vous pouvez l'ajouter à votre ~/.ssh/config(ou la créer si elle n'existe pas):
Ensuite, vous pouvez vous connecter avec juste ssh [email protected] -p 9215. En prime, vous pouvez également configurer le port:
Host vps718449.ovh.net
IdentityFile ~/.ssh/id_rsa_admin
Port 9215
Ensuite, vous pouvez vous connecter avec juste ssh [email protected]. Même plus loin:
Host vps718449.ovh.net vps
Hostname vps718449.ovh.net
User admin
IdentityFile ~/.ssh/id_rsa_admin
Port 9215
Alors ça ssh vpsmarchera! Bien sûr, ce vpsn'est qu'un exemple, vous pouvez utiliser tout autre alias que vous souhaitez (par exemple si vous avez plusieurs VPS). Voir man ssh_configpour une liste des options que vous pouvez y définir.
@Mathieu Pourquoi trois clés? S'il s'agit de trois hôtes différents, ajoutez simplement une entrée pour chaque hôte, chacune avec la clé appropriée.
fkraiem
@fkraiem J'ai 3 clés différentes sur le même serveur mais pour 3 utilisateurs
Mathieu
@Mathieu Je ne peux pas le confirmer pour le moment, mais je pense que l'ajout de trois IdentityFilelignes dans la Hostsection devrait fonctionner. De plus, si vous mettez une Userligne, cet utilisateur deviendra la valeur par défaut lors de la connexion à cet hôte, mais vous pouvez toujours la remplacer par @.
fkraiem
@fkraiem Merci beaucoup. Cela fonctionne, mais l'erreur suivante s'affiche: "L'agent a admis ne pas avoir signé avec la clé". J'utilise "SSH_AUTH_SOCK = 0" pour me connecter mais cela doit être fait à chaque redémarrage. Y a-t-il une autre salutation?
Mathieu
16
Vous devez utiliser l' -ioption de votre commande ssh en utilisant le chemin d'accès à votre clé. La commande modifiée sera:
IdentityFile
lignes dans laHost
section devrait fonctionner. De plus, si vous mettez uneUser
ligne, cet utilisateur deviendra la valeur par défaut lors de la connexion à cet hôte, mais vous pouvez toujours la remplacer par@
.Vous devez utiliser l'
-i
option de votre commande ssh en utilisant le chemin d'accès à votre clé. La commande modifiée sera:la source
-i
avant le nom d'hôte fonctionne aussi; Je pense que @Mathieu a simplement oublié le trait d'union. : p