Ci sono essenzialmente solo due versioni reali del protocollo SSH, SSH-1 e SSH-2.
SSH-1
SSHv1 ha avuto diverse iterazioni. Ogni iterazione ha risolto alcuni problemi di sicurezza, ma il protocollo stesso è vulnerabile a diversi attacchi. Usa RSA per crittografare 32 byte di chiave di sessione. Utilizza sia la chiave del server che la chiave dell'host; come in esso RSA crittografa la chiave di sessione due volte. So che sembra strano, ma questo è quello che succede. Quindi la chiave di sessione è condivisa con il server.
Questo protocollo ha intrinseche vulnerabilità note. SSHv1.5 è noto per essere vulnerabile all'iniezione di dati in pacchetti crittografati [1] . Ciò è dovuto al cattivo controllo dell'integrità che utilizza CRC32. SSHv1 è anche soggetto agli attacchi Man in the Middle (MitM). Ecco un articolo sull'argomento .
SSH-2
SSHv2 è un protocollo completamente diverso. Utilizza uno scambio Ephemeral Diffie-Hellman con controlli di integrità adeguati dell'intero scambio. L'intero pacchetto è crittografato, comprese le informazioni dell'intestazione SSH. Le chiavi di sessione sono generate dall'hash di sessione, dal segreto condiviso e dall'hash dello scambio con una lettera ASCII. C'è una lettera diversa per ogni chiave di sessione necessaria chiave di sessione o vettore di inizializzazione necessario.
Le vulnerabilità di SSHv2 sono state solo teoriche. Finora il protocollo è noto per essere sicuro quando implementato correttamente.
SSH-1.99
Questa non è in realtà una versione del protocollo. Il primo pezzo di dati scambiati dal client e dal server è la loro versione di protocollo in quella che viene chiamata una stringa di protocollo. Questa è l'unica compatibilità condivisa dai due protocolli. Esempi di stringhe di versione
SSH-1.99-OpenSSH_2.5.2p2
SSH-2-OpenSSH_2.9p1
SSH-1.99 viene sempre inviato da un server ed è come il server dice al client che supporta sia SSH-1 che SSH-2.
Dovresti sempre usare SSH-2. SSH-1 è noto per essere insicuro. Il 99% dei server in uscita supporta SSH-2 e non presenta vulnerabilità note contro di esso.