Je commence à comprendre comment RSA et les systèmes de clé publique / privée fonctionnent, et je me demandais où ma clé SSH privée et publique est stockée. Lorsque je vais dans mon répertoire personnel et que je parcours mon répertoire .ssh (cd .ssh), je ne vois que le fichier "known_hosts", qui contient, je suppose, les clés publiques des différents serveurs SSH distants que je connais.
Où puis-je trouver ces clés? Au fait, je ne me souviens même pas de les avoir créés, mais comme j'ai déjà établi des connexions ssh auparavant, elles doivent être quelque part.
J'utilise OpenSSH_5.2p1 avec MAC OS 10.6.
Merci!
publickey
n'est qu'une méthode d'authentification possible parmi plusieurs; si vous vous êtes simplement connecté avecpassword
oukeyboard-interactive
, le mot de passe lui-même a été envoyé. (Remarque: ne confondez pas la clé utilisateur, la clé hôte et les clés de session.)Vos clés ssh personnelles publiques et privées sont normalement stockées dans:
Ou ils pourraient l'être
id_rsa
etid_rsa.pub
si vous avez créé des clés RSA plutôt que des clés DSA (OpenSSH prend en charge les deux formulaires).Mais le fait que vous ayez déjà établi des connexions ssh n'implique pas que vous ayez des clés ssh. Si la
ssh
commande ne trouve pas votre clé personnelle, elle vous demandera un mot de passe pour le système distant. C'est moins sûr que d'utiliser des clés.Vous devez normalement créer votre clé privée ssh avec une phrase secrète. Si vous le créez sans mot de passe, quelqu'un qui obtient une copie de votre clé privée peut vous emprunter l'identité.
ssh-agent
vous permet d'utiliser une clé avec une phrase secrète sans avoir à ressaisir votre phrase secrète chaque fois que vous l'utilisez.la source
Si vous ne l' avez pas créé une paire de clés, vous ne probablement pas avoir un.
Le trafic SSH2 est chiffré avec une clé de session symétrique établie à l'aide d'algorithmes DH, ECDH ou d'échange de clés GSSAPI. Ni la clé hôte ni la clé utilisateur ne sont utilisées pour crypter les données - leur seul but est l' authentification .
Rappelez-vous maintenant que SSH prend en charge plusieurs méthodes d'authentification: en outre
publickey
, presque tous les serveurs acceptent le simplepassword
et / oukeyboard-interactive
, dans lequel aucune génération ou utilisation de clé n'a lieu - le mot de passe est simplement envoyé au serveur distant pour vérification.En d'autres termes, "puisque j'ai déjà établi des connexions ssh auparavant, elles doivent être quelque part" est incorrect - la paire de clés utilisateur n'est pas nécessaire pour établir des connexions.
Si vous avez fait créer une paire de clés, il sera probablement en
~/.ssh/id_*
- par exemple,id_rsa
pour la valeur par défaut paire de clés RSA,id_ecdsa
pour ECDSA,id_dsa
pour DSA. Bien que ces fichiers contiennent les deux parties publiques et privées de la paire de clés, la partie publique est généralement extrait automatiquement dans un séparéid_*.pub
fichier pour des raisons pratiques (id_rsa.pub
pourid_rsa
et ainsi de suite).la source