Gli algoritmi predefiniti (ovvero gli algoritmi che il client e il server preferiscono per utilizzare quando viene data la scelta) dipendono dalle implementazioni del client e del server, dal modo in cui sono stati compilati e configurati. Quindi può dipendere dal produttore del software, dalla versione del software, dalla distribuzione del sistema operativo e dalle opzioni di sysadmin.
Su Ubuntu 12.10, man ssh_config
indica che l'ordine predefinito per la crittografia è:
aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
aes256-cbc,arcfour
mentre l'ordine predefinito per MAC (integrità) è:
hmac-md5,hmac-sha1,[email protected],
hmac-ripemd160,hmac-sha1-96,hmac-md5-96,
hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,
hmac-sha2-512-96
L'algoritmo di scambio delle chiavi seguirà questo ordine di preferenza:
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
diffie-hellman-group-exchange-sha256,
diffie-hellman-group-exchange-sha1,
diffie-hellman-group14-sha1,
diffie-hellman-group1-sha1
Naturalmente, le preferenze sono soggette a negoziazione. Un algoritmo sarà selezionato solo se sia il client che il server lo supportano (in particolare, il supporto per lo scambio di chiavi ECDH è piuttosto recente), e sia il client che il server hanno voce in capitolo (se non hanno le stesse identiche preferenze). / p>
Un sondaggio è teoricamente fattibile: connettersi a un indirizzo IP casuale e, se un server SSH risponde, elaborare il suo elenco preferito di cifrari e MAC (collegandosi più volte, limitando l'elenco delle scelte annunciato dal cliente). OpenSSH rende i sondaggi sull'utilizzo ma non sono così approfonditi (vogliono solo il "banner" del server).