Nella comunicazione ssh tra server e client, il client viene autenticato dalla sua chiave privata. Voglio sapere come fa il server a sapere quale chiave pubblica appartiene al client, se il server ha più di 1 chiave pubblica nelle sue authorized_keys
file.
Risposta accettata:
Il client invia il suo ID chiave pubblica e il server controlla se questa chiave è nell'elenco di authorized_keys
.
-
Il client inizia inviando un ID per la coppia di chiavi con cui desidera autenticarsi al server.
-
Il controllo del server è il file authorized_keys dell'account a cui il client sta tentando di accedere per l'ID chiave.
-
Se nel file viene trovata una chiave pubblica con ID corrispondente, il server genera un numero casuale e utilizza la chiave pubblica per crittografare il numero.
-
Il server invia al client questo messaggio crittografato.
Se il client ha effettivamente la chiave privata associata, sarà in grado di decrittografare il messaggio utilizzando quella chiave, rivelando il numero originale.
https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process