Cieľ projektu je jednoduchý: Kvôli tomu, že telnet a rlogin nie sú bezpečné, všetky operačné systémy by sa mali dodávať so zabudovanou podporou SSH protokolu. (Pozrite obrázok nižšie).
SSH protokol je dostupný v dvoch nekompatibilných variantoch: SSH 1 a SSH 2.
Starší SSH 1 protokol sa vyskytuje v dvoch hlavných variantoch: protokol 1.3 a protokol 1.5. Oba sú podporované nástrojmi OpenSSH. Oba tieto protokoly používajú na vytvorenie kľúčov asymetrický šifrovací algoritmus RSA (ktorého patent vypršal a môže ho používať ktokoľvek), a tiež používa krátky zoznam symetrických algoritmov na šifrovanie dát: 3DES a Blowfish. (Môže použiť aj niekoľko ďalších algoritmov ako RC4, no ich implementácia má bezpečnostné nedostatky). Niektoré implementácie protokolu SSH 1 podporujú aj symetrický algoritmus IDEA. Tento algoritmus je však chránený patentom, a preto sú spomínané dva algoritmy postačujúce a OpenSSH sa dodáva bez podpory šifrovania IDEA.
Protokol SSH 1 používa na kontrolu integrity dát jednoduchú funkciu CRC, čo sa ukázalo ako nesprávne; je známe, že je možné urobiť útok vložením, avšak kvôli veľkému počtu záplat, ktoré boli počas rokov používania do SSH implementované, je útok veľmi ťažké vykonať. Pri použití algoritmu šifrovania 3DES je útok vložením oveľa menej možný. (Toto môžeme čoskoro vyriešiť).
Druhý hlavný variant SSH je protokol SSH 2. SSH 2 bol navrhnutý tak, aby bolo možné predísť problémom týkajúcich sa RSA (problémy s patentom – tie už nie sú lebo patent vypršal) a opraveniu možného narušenia integrity pri použítí CRC, ktoré má SSH1, ale aj kvôli ďalším technickým príčinám. Vďaka použitiu asymetrických algoritmov DSA a DH, protokol SSH2 predchádza všetkým problémom s patentami. CRC problém je vyriešený vďaka použitiu algoritmu HMAC. SSH 2 protokol podporuje mnoho ďalších možností pre symetrické šifrovanie, spolu s ďalšími novými funkciami.
Zdrojový kód OpenSSH obsahuje úplnú podporu protokolov SSH 1.3 a SSH 1.5 od .
Kvôli množstvu kryptografických funkcií, OpenSSH závisí na knižnici OpenSSL, ktorá nespadá pod licenciu GPL.
Ihneď po tom, ako sme vytvorili našu implementáciu protokolu SSH 1, rôzni vývojári, ktorí nepracovali v skupínách OpenBSD sa o ňu začali veľmi intenzívne zaujímať. Damien Miller, Philip Hands a ďalší začali OpenSSH prerábať tak, aby sa dal použiť v systéme Linux a ďalších operačných systémoch na báze Unixu. Hneď na začiatku tohto úsilia sme usúdili, že aj prerobenie prvotnej najjednoduchšej implementácie SSH by bolo príliš zložité – Existuje príliš mnoho operačných systémov s odlišnými závislosťami, s ktorými by sme sa museli zaoberať. Našou snahou bolo vytvoriť kompletne zabezpečený a nedobytný kód, ktorý by sa vyhol takýmto prílišným rozdielom. To uľahčilo vývojový proces nám všetkým, rozhodli sme sa oddeliť zameranie vývoja od vývoja prenositeľnosti. Toto u nás veľmi dobre funguje. (Ako dôkaz si môžete porovnať počet riadkov základnej prenositeľnej verzie).
Prirodzeným trendom sa stalo, že čoraz viac členov OpenBSD projektu začalo pracovať aj na podpore SSH 2 protokolu. Hlavnú prácu na ňom vykonal Markus Friedl. , bola implementovaná podpora SSH 2 protokolu použiteľná.