Laissez-moi essayer d'expliquer cela avec un exemple. Supposons que je vous fais confiance et que je veuille que vous vous connectiez en SSH à mon ordinateur pour faire quelque chose. Je peux vous donner mon mot de passe ou vous pouvez me donner votre clé publique.
Si vous me donnez votre clé publique, lorsque vous essayez de vous connecter à mon ordinateur, votre client SSH utilisera votre clé privée pour générer la demande d'authentification chiffrée à votre extrémité et l'envoyer à mon ordinateur. Mon ordinateur utilisera votre clé publique pour déchiffrer la demande d'authentification chiffrée et ainsi authentifier que c'est bien vous et non quelqu'un d'autre qui tente de s'introduire dans mon ordinateur.
Remarque : La paire de clés privée-publique n'est pas utilisée pour crypter la transmission entre deux ordinateurs. Une fois que la connexion est établie, les clés ne sont plus nécessaires jusqu'à ce que la connexion soit terminée et qu'une nouvelle connexion soit tentée. SSH dispose de son propre système interne de chiffrement des données qui ne dépend pas de la paire de clés privée-publique.
Ainsi, en acceptant votre clé publique, je vous ai donné ma confiance pour entrer dans mon ordinateur. Si jamais vous trahissez ma confiance, je supprimerai votre clé publique de mon ordinateur. Ensuite, vous ne pourrez plus vous connecter en SSH à mon ordinateur.
Si vous donnez votre clé privée à quelqu'un d'autre (ou si quelqu'un la vole), cette personne pourra se faire passer pour vous. Si je découvre que vous avez donné votre clé privée à quelqu'un d'autre, je supprimerai votre clé publique de mon ordinateur. Alors ni vous ni l'autre personne ne pourrez vous connecter en SSH à mon ordinateur.
La clé publique que vous m'avez donnée est inutile si j'essaie de me connecter en SSH à votre ordinateur, car elle ne sert qu'à déchiffrer les informations que vous générez avec votre clé privée. Si vous souhaitez que je me connecte en SSH à votre ordinateur, vous devrez placer ma clé publique à l'endroit adéquat dans votre ordinateur.
Ubuntu stocke vos clés privées dans un logiciel de gestion des mots de passe appelé Password and Encryption Keys :
Remarquez l'onglet du milieu Mes Clés Personnelles. Cela protège votre clé privée contre le vol (et contre la suppression accidentelle de votre clé privée).
Voici plus d'informations sur le gestionnaire de mots de passe Seahorse.
J'espère que cela vous aide