OpenSSH (OpenBSD Secure Shell) je soubor počítačových programů poskytujících zašifrovaná komunikační sezení, která se používají pomocí ssh protokolu přes počítačovou síť. Je to produkt, zajišťující šifrovaný přístup k shellu operačního systému přes počítačovou síť.
Má dvě části: ssh klienta (Secure Shell Klient) a ssh server. SSH klient kromě zpřístupnění Shellu umí také vytvářet SSH tunely.
OpenSSH je vyvinutý jako část projektu OpenBSD, který vede Theo de Raadt. OpenSSH se příležitostně zaměňuje s podobně pojmenovaným OpenSSL; nicméně projekty mají různé účely a jsou vyvinuty různými týmy, podobné pojmenování bylo použito pouze z důvodů podobných cílů.
Historie
Ssh (secure shell) byl původně vytvořen Tatu Ylönenenem jako program, který měl nahradit nezabezpečené klasické unixové remote-utility rlogin, rsh, rcp. Rychle si získal popularitu, "něco takového" bylo nutně potřeba, ssh měl otevřenou licenci a jeho použití bylo řádově jednodušší, než třeba ssl telnet. Zřejmě díky úspěchu se původně otevřená licenční politika postupně uzavírala, až se z SSH a především kompletně nové verze protokolu SSH2 stal víceméně komerční produkt, vyvíjený firmou SSH Communications. Naštěstí se ukázalo, že přejít na uzavřený kód z otevřeného, a "zavřít" jednou osvobozený program do nějaké té krabice, není tak jednoduché – uživatelé si SSH vzít nenechali. V mateřském náručí OpenBSD vzniklo OpenSSH, volně šiřitelné pod licencí typu BSD (stručně řečeno, s kódem je možno činit vcelku cokoli komerčního, nekomerčního, otevřeného i uzavřeného a publikovat jej dále pod jakoukoli licencí). OpenSSH dnes jasně převládá.
Vývoj a struktura
OpenSSH je vyvinut jako součást OpenBSD operačního systému. Spíše než aby zahrnoval změny pro další operační systémy, tak je zahrnuje přímo do OpenSSH a oddělená přenosnost infrastruktury je udržována OpenSSH Portability týmem a "přenosná vydání" jsou dělána pravidelně.
Tato infrastruktura je značná částečně, protože na OpenSSH je vyžadováno vykonávat ověřování(legalizaci), schopnost, která má za úkol mnohdy měnit implementace. Tento model je také používaný na jiné OpenBSD projekty, například takové jako OpenNTPD.
OpenSSH souprava zahrnuje následující nástroje:
- ssh, nahrazení pro rlogin a telnet povolením shell přístupu ke vzdálenému stroji.
- scp, nahrazení pro rcp a sftp, nahrazení pro ftp, které může kopírovat soubory mezi počítači.
- sshd, SSH server démon.
- ssh-keygen, nástroj vytvářející RSA a DSA klíče, které se používají pro ověřování(legalizaci) uživatele a hostitele
- ssh-agent a ssh-add, pomůcky k ulehčení ověřování(legalizaci) držených klíčů, připraví a zruší potřebu vstoupit passphrases vždy, když jsou používány.
- ssh-keyscan, který skenuje seznam hostitelů a sbírá jejich veřejné klíče.
OpenSSH server může ověřit uživatele používáním standardních metod podporovaných ssh protokolem: s heslem; ověřením veřejného klíče, pomocí použití uživatelského klíče; hostitelská založená legalizace, která je bezpečnou verzí rlogin, to znamená, že hostitel věří dobrým vztahům používaných veřejných klíčů; interaktivní klávesnicí, generický putovní- odezvový mechanismus který je často užívaný pro jednoduchou heslovou legalizaci, která ale může také použít silnější ověří jako tokens; a Kerberos/GSSAPI . Server použije opravňovacích původních metod v hostitelském operačním systému; může to zahrnovat používání BSDova opravňovacího systému nebo PAM, který umožňuje další legalizaci skrz metody jako ve stejném čase hesla. Nicméně, příležitostně má průvodní jevy: při používání PAM s OpenSSH musí běžet jako root, jsou typicky požadována správcovská privilegia, aby operovala PAM. Starší verze OpenSSH 3.7 dovolí PAM být vyřazený v run-timu, tím pádem regulérním uživatelům budou fungovat sshd příklady.
Rysy
OpenSSH zahrnuje schopnost posunout vzdálené TCP porty přes bezpečný tunel. Používá se pro multiplexní přídavné TCP spojení přes jednotlivé ssh spojení, ukrývání spojení a šifrování protokolů, které jsou jinak nezajištěné a pro firewally. X Windows systémový tunel může být vytvořený automaticky, když se používá OpenSSH k připojení na vzdáleného hostitele a další protokoly, jako http a VNC, které mohou být posunuty snadno dopředu.
Navíc, některé softwary podpůrných firem zahrnují podporu tunelování přes SSH. Tyto zahrnují DistCC, CVS, rsync a fetchmail . Na některých operačních systémech, vzdálené filesystems mohou být připojeny přes SSH, použitím nástrojů jako sshfs, shfs, lufs, a podfuk.
Ad hoc SOCKS proxy serveru může být vytvořený použitím OpenSSH. To dovolí víc flexibilního zastupování než je možné s obyčejným zasílatelským portem. Například, použitím jednoduchého příkazu:
ssh -D1080 user@example.com
A místní SOCKS server je pevně zavedený a poslouchá na "localhost:1080" a v popředí všechno cestuje přes "example.com" host.
Začátky s verzí 4.3, OpenSSH realizuje OSI vrstvu 2/3 tun -založený VPN .Je to nejspíše nejvíce flexibilní OpenSSH tunelující schopnost, která dovoluje aplikacím průhledně zpřístupnit vzdálené síťové zdroje bez modifikací snahy použít SOCKS.
Literatura
Související články
Reference
V tomto článku byl použit překlad textu z článku OpenSSH na anglické Wikipedii.
Externí odkazy