( psc | 2010. 02. 09., k – 19:56 )

Leegyszerűsítve, mert jóval bonyolultabb azért:

A kliens csatlakozik a szerverhez.

A szerver elküldi a host-key -t.

A kliens megnézi, hogy megvan-e már a host-key neki ehhez a szerverhez.
Ha már megvan, akkor összehasonlítja.
Ha nem egyezik a meglévő host-key a most kapottal, akkor figyelmeztet, hogy possible mitm attack.

Ha nincs még meg ennek a szervernek a host-key -e, akkor a kliens erről szól neked, kiírja a kulcsot, s megerősítést kér a kapcsolatra.
Ha engeded, akkor elmenti a host-keyt a tárolóba.

A kliensed elküldi a kliens-kulcs publikus részét.

A szerver generál egy session-keyt (általában aes szokott lenni a crypto algoritmus).
Ezt a session-keyt elküldi a kliensnek a a kliens publikus RSA kulcsával kódolva.

Innentől a szerver és a kliens a szimmetrikus algoritmusra váltanak az RSA helyett.

Itt történik a felhasználó azonosítása (user/pass bekérése). Ha kulcsos authentikáció volt megadva, nem jelszavas, akkor ez a lépés kimarad.

A szerver indít egy shellt, és shell stdout handle-jét ráirányítja a socket-re, uyanígy az stdin handle-jét is a socketre.

Időnként lecserélik a session-key -t, szintén az RSA kulcssere algoritmussal, mint az elején.

A kulcsos authentikáció annyiban különbözik, hogy nem kér jelszót a szerver, hanem a kliens egy másik RA kulccsal azonosítja, ennek google -val te is utána tudsz nézni.