La mia comprensione di base è questa:
- Il% (co_de%) del server (connesso a) utilizza la chiave pubblica per crittografare il messaggio
- Il
sshdosshdel client lo decrittografa e restituisce qualcosa (il checksum del messaggio? la sua firma?) - Il
ssh-agentdel server verifica che questo sia coerente con il messaggio per autenticare l'utente
Ma quali sono i dettagli? Qual è il "messaggio", cosa restituisce sshd ? Lo farebbe sempre con lo stesso messaggio originale sempre e comunque sempre la stessa comunicazione?
Questo processo di autenticazione può essere riprodotto tramite strumenti bash se viene utilizzato ssh(-agent) ? Per esempio. le chiavi pubbliche che ssh-agent fornisce possono essere ottenute tramite ssh-agent , e il resto del processo? O richiederebbe la connessione manuale al socket ssh-add -L unix e ad alcune comunicazioni di basso livello?
Correlati: Thomas 'Server-Bob dialogano qui , sebbene ciò suggerisca che il client segni solo alcuni dati casuali che verrà quindi confrontato con tutte le chiavi pubbliche del $SSH_AUTH_SOCK dell'utente del server. Questa illustrazione d'altra parte afferma che il messaggio è crittografato alla chiave pubblica dell'utente precedentemente determinata (non quello per la crittografia ssh) e il client emette il checksum che dipende anche da un ID di sessione casuale. Quale è corretto? Oppure entrambi comunicano solo una parte della storia effettivamente più complessa?