SSH

<small>Z PVwiki</small>

SSH neboli Secure Shell je klient/server protokol v síti TCP/IP, který umožňuje bezpečnou komunikaci mezi dvěma počítači pomocí transparentního šifrování přenášených dat. Pracuje na portu TCP/22. Pokrývá tři základní oblasti bezpečné komunikace: autentizaci obou účastníků komunikace, šifrování přenášených dat a integritu dat.

Protokol vyvinul v roce 1995 Tatu Ylönen. SSH je ve počítačové terminologii používán jako název přenosového (síťového) protokolu i jako název programu zprostředkovávající spojení. Data jsou přenášena mezi dvěma počítači přes nebezpečnou vnější síť vždy šifrovaně a volitelně s použitou kompresí.

Označení "Secure Shell" je mírně zavádějící, protože nejde ve skutečnosti o shell ve smyslu interpret příkazů. Název byl odvozen z existujícího programu rsh, který má podobné funkce, ale není zabezpečený.

Historie

Po útoku odchytáváním hesel na počítačovou síť helsinské Technické univerzity (Helsinki University of Technology, Finsko) navrhl Tatu Ylönen první verzi protokolu (SSH-1). V červnu 1995 jej pak uveřejnil včetně zdrojových kódů jako Free Software. Do konce roku 1995 se rozrostla základna uživatelů na 20 000 v padesáti zemích.

V prosinci 1995 Ylönen založil společnost SSH Communications Security a začal vyvíjet SSH a další bezpečnostní nástroje. Původní verze SSH používala části svobodného software (např GNU libgmp), takže pozdější verze od těchto závislostí oprostil a začal je vydávat pod uzavřenou licencí.

V roce 1996 vyvinul vylepšenou verzi protokolu SSH-2, která je nekompatibilní s SSH-1. Novinkami v druhé verzi byla např. zvýšená bezpečnost výměny klíčů (Diffie-Hellman key exchange) nebo přísná kontrola integrity dat. Novou vlastností SSH-2 je také možnost spustit libovolný počet shellů uvnitř jednoho SSH spojení.

Použití

SSH je používáno jako bezpečná náhrada starších protokolů a nabízí i nové vlastnosti:

  • Náhrada protokolu Telnet, práce na vzdáleném počítači přes nezabezpečenou síť
  • Náhrada protokolu Rlogin, přihlášení na vzdálený počítač
  • Náhrada protokolu Rsh, spouštění příkazů na vzdáleném počítači
  • Tunelování spojení
  • Přesměrování TCP portů a X11 spojení zabezpečeným kanálem
  • Bezpečný přenos souborů pomocí SFTP nebo SCP

Shrnutí

SSH program je dnes běžně používán při vzdálené práci a pro vzdálenou správu. Většinou se spojuje s SSH démonem (SSH daemon, sshd) pro navázání spojení. SSH démon rozhoduje podle svého nastavení, zda spojení přijme, jakou formu autentizace bude požadovat, případně na kterém portu naslouchá. Implementace SSH klientů i serverů (SSH démon) je dostupná na téměř jakékoli platformě. Většinou jsou dostupné jak komerční, tak i Open Source varianty.

Osobní nástroje