Dans la communication ssh entre le serveur et le client, le client est authentifié par sa clé privée. Je veux savoir comment le serveur sait quelle clé publique appartient au client, si le serveur a plus d'une clé publique dans ses authorized_keys
fichier.
Réponse acceptée :
Le client envoie son ID de clé publique et le serveur vérifie si cette clé est dans la liste des authorized_keys
.
-
Le client commence par envoyer un ID pour la paire de clés avec laquelle il souhaite s'authentifier au serveur.
-
Le serveur vérifie le fichier authorized_keys du compte auquel le client tente de se connecter pour l'ID de clé.
-
Si une clé publique avec un ID correspondant est trouvée dans le fichier, le serveur génère un nombre aléatoire et utilise la clé publique pour chiffrer le nombre.
-
Le serveur envoie au client ce message chiffré.
Si le client possède effectivement la clé privée associée, il pourra déchiffrer le message à l'aide de cette clé, révélant le numéro d'origine.
https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process