A Projekt Története
Az OpenSSH leszármazottja az eredeti, Tatu Ylönen által írt ingyenes
ssh 1.2.12 kiadásnak. Ez volt az utolsó annyira szabad verzió amelyet
felhasználhatott a projektünk. Az OpenSSH egyes részei még mindig
hordozzák Tatunak azt a licencét, melyet ez a kiadás tartalmazott. Ez a
verzió és a korábbiak a libgpm könyvtár matematikai függvényeit
használták. Ezek a korai ssh verziók tartalmazták ezt a függvénykönyvtárat
is. A libgmp könyvtár az (LGPL) Lesser GNU Public Licence
licenc alá esik, habár egyes verziók ebből az időből a hagyományos
(GPL) GNU Public Licence alatt lettek kiadva.
Egy kombinált licenc mely minden részhez alkalmazható, elérhető:
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/LICENCE.
Röviddel a 1.2.12 kiadás után az újabb verziók sokkal szigorúbb
licencfeltételekkel jöttek ki, habár még mindig tartalmazták a
libgmp könyvtárat, mely szükséges volt a program használatához. Korábbi
korlátozó licencek megtiltották Windows-os és DOS-os verziók készítését.
Későbbi licencek korlátozták az ssh használatát üzleti környezetben, így a
cégeknek meg kellett vásárolniuk egy drága verziót a Datafellows-tól.
1999 elején Björn Grönvall felfedezte ezt az különleges kiadás és elkezdte
kijavítani a hibákat. Az Ő ssh verziójának neve
OSSH
és csak az SSH 1.3 protokollt támogatta.
Szóbeszéd járja arról, hogy az OSSH-t beleintegrálták egyes kereskedelmi
termékekbe is Svédországban. Az OSSH ma sem támogatja SSH 2 protokollt.
Az OpenBSD projekt tagjai felfigyeltek Björn munkájára, kevesebb mint
két hónappal az
OpenBSD 2.6 kiadás
előtt. Be akartuk építeni az ssh protokoll támogatást a 2.6-os kiadásba,
de meg kellett bizonyosodniuk, hogy minden teljesen tökéletes. Ezért
elhatároztuk, hogy OSSH kiadás alapján elindítjuk a saját fejlesztésünket,
ugyanolyan biztonsági felülvizsgálati eljárással mint az eredeti OpenBSD-nél
is tettük. Ennek eredményeként a kiadás idejére a forráskód fájljainak nagy
része elérte az RCS 1.34 felülvizsgálati szintet, néhányuk pedig az 1.66-ot.
A fejlesztés tényleg gyorsan haladt, mivel teljesíteni akartuk a határidőt.
A következő csapattagok működtek közre:
- Theo de Raadt (KANADA) a nem portolható részek
eltávolításával kezdte, melyek a
kódot sokkal nehezebben olvashatóbbá tették
-- a cél egy sokkal egyszerűbb forráskód, melyben
a biztonsági réseket és egyéb dolgokat
könnyebb megtalálni.
- Niels Provos (NÉMETORSZÁG de jelenleg az USA-ban
él) gyorsan eltávolította a kriptográfiai
és GPL-es részeket egy kanadai utazása
során, így egy teljesen szabadon
felhasználható forráskód bázist
kaptunk
- Markus Friedl (NÉMETORSZÁG) nekifogott és
gyorsan sikerült lecserélnie az 1.2.12-es
kiadásból származó SSH 1.3-as protokoll
kódot a modern "ssh 1.2.27" sorozatban használt SSH 1.5
protokoll kompatibilisre (ez szükséges volt sok SSH
kompatibilis Windowsos ügyfélprogrammal való
együttműködésre, amelyekben nem volt SSH 1.3 protokoll
támogatás) Az Ő megvalósítását használják már az OSSH-ban is.
Úgy adta hozzá az SSH 1.5 protokoll
támogatást, hogy az SSH 1.3 protokoll
támogatás megmaradt. Később hozzáadta az
SSH 2 protokoll és az SFTP támogatást.
- Bob Beck (KANADA) Makefile varázslással
segített, így le tudtuk fordítani az OpenSSL-t,
védjegyzett algoritmusok nélkül; mivel az OpenBSD
2.6 az RSA szabadalom lejárta előtt jelent meg, és a CD-t
RSA nélküli libssl és libcrypto megosztott
könyvtárakkal kellett kiadnunk. Telepítéskor
a felhasználó lecserélhette ezeket a
könyvtárakat FTP/HTTP-vel az Interneten keresztül.
Szerencsére ez a fajta ügyeskedés többé
már nem szükséges.
- Aaron Campbell (KANADA) kijavított számos
dokumentációs hiányosságot és néhány egyéb problémát a
kódban. Neki köszönhető, hogy a kézikönyv ennyire teljes.
- Dug Song (USA) segített néhány hitelesítéssel kapcsolatos dologban
a KerberosIV-ben (az Ő változtatásai gondosan le lettek ellenőrizve, hogy
semmiképpen ne legyen közük a kriptográfiai részhez csak a hitelesítéshez).
Tehát az OpenSSH verzió az ssh 1.2.12 -re épült, de számos hiba el lett
távolítva és új szolgáltatások lettek hozzáadva:
- minden korlátozó rész el lett távolítva (pl. szabadalmak, lásd
ssl)
a forráskódból; minden licencelt és szabadalmaztatott rész külső könyvtárakkal
lett megoldva (pl. OpenSSL).
- KerberosIV
hitelesítés és ticket passing támogatás.
- egyszer használható jelszó támogatás az skey
segítségével.
- És még néhány száz egyéb változás ami elolvasható a
kézikönyvben és a forráskód változásokban.
Ez jellemzi az OpenSSH 1.2.2 kiadást ami az 1999. december
1-én az OpenBSD 2.6-ban jelent meg. Azóta a legtöbb OpenBSD
fejlesztést Aaron Campbell, Bob Beck, Markus Friedl, Niels
Provos, Theo de Raadt és Dug Song végezte. Szeretnénk
köszönetet mondani azoknak akik hibákat
találtak és erről értesítettek minket.
OpenSSH portolása
Közvetlenül azután, hogy kiadtuk az SSH 1 protokoll
megvalósításunkat, különböző
nem-OpenBSD csoportok kezdtek nagyon-nagyon érdeklődni. Damien
Miller, Philip Hands, és egy maroknyi más személy elkezdte
átültetni az OpenSSH-t Linuxra és más Unix
operációs rendszerre. Már
erőfeszítéseink kezdetekor világos volt, hogy az
eredeti SSH megvalósítás is túl bonyolult,
túl sok operációs rendszer függőséggel
kell foglalkoznia. A mi megközelítésünkben,
hogy teljesen biztonságos és szikla szilárd
kódot írjunk, el kell kerülni az ilyen felesleges
különbségeket. Így, hogy a fejlesztést
egyszerűbbé tegyük, úgy döntöttünk,
hogy a központi fejlesztést
különválasztjuk a portolás
fejlesztésétől. Ez eddig nagyon jól működik.
(Csak példaként, hasonlítsd össze a
forráskód sorainak számát a alap és
a portolható verziókban).
SSH 2 Protokoll Támogatás
Az OpenBSD 2.6 kiadásakor, Markus Friedl elhatározta,
hogy folytatja az SSH 2 protokoll
támogatás fejlesztését. Hónapokig
tartó kemény munkával sikerült az OpenSSH-t
megtartania karcsúnak és könnyűnek, míg
ugyanakkor egyetlen szoftverben megvalósította az SSH 1
és az SSH 2 protokoll támogatást. Ez a
verzió, melynek neve OpenSSH 2.0,
2000. június 15-én az OpenBSD 2.7 kiadásban jelent
meg . Markus változtatásainak ellenőrzését
nagyrészt Niels Provos és Theo de Raadt végezte.
Köszönet Bob Becknek hogy az OpenSSL-t újabb
verzióra fejlesztette.
SFTP Támogatás
Az kiszolgáló oldali SFTP támogatás
al-protokollt Markus
Friedl írta és a 2.3.0 kiadásban jelent meg 2000
novemberében. Hamarosan ezután Damien Miller elkezdett
dolgozni egy sftp kliensen, ami először az 2.5.0-ban jelent meg.
SSH kiszolgálók verzióinak detektálása
Az SSH kiszolgálók megfigyelésének
megkönnyítése érdekében, pl. egy
vállalati hálózatban, Niels Provos megírta az scanssh
programot. Az scanssh megvizsgál hálózati
címeket és hálózatokat, futó SSH
kiszolgálók és a verziószámuk
után. Képes véletlenszerűen kiválasztani IP
címeket egy nagy hálózati
tartományból és információt lehet
vele gyűjteni az SSH kiszolgálók
használatáról a vállalati
hálózatban vagy magán a Interneten. Ez a
statisztika tartalmazza a támogatott SSH protokollt és a
használt szoftver verziót.
scanssh segítségével statisztika
készül az SSH protokoll Internetes
felhasználásáról. A
felméréssel megnézhetjük a
különböző SSH protokollok
elterjedését és az egyes
kiszolgáló-verziók piaci behatását.
SSH: Végre teljesen szabadon használható.
www@openbsd.org
$OpenBSD: history.html,v 1.9 2005/01/20 18:33:11 jufi Exp $