SSH | Secure Shell (SSH) je běžně implementovaný bezpečnostní protokol s řadou různých použití.
Jeho nejznámější aplikace umožňuje uživatelům bezpečný přístup ke vzdáleným počítačům a
serverům, ale může být také použit pro tunelování, přesměrování portů, bezpečný přenos
souborů atd. |
SSH Vzdálený přístup | Vzdálený přístup poskytuje uživatelům způsob, jak se přihlásit k jinému počítači nebo serveru
z vlastního počítače. Používá se pro přístup k místním souborům cílového počítače nebo k
provádění služeb na něm, to vše bez nutnosti fyzického pobytu. |
SSH Přesměrování portů | Přesměrování portů se používá k přenosu požadavků z jedné adresy a čísla portu na jinou
sadu. Aplikuje (NAT) což umožňuje přístup k zařízení mimo síť. Přesměrování portů lze
provést třemi různými způsoby:
• Místní předávání portů (Local Port Forwarding) - Přesměrování lokálních portů
umožňuje připojení místního klienta a externí sítě. Může to být užitečné pro přístup k
místům, která jsou blokovány místně, nebo pro připojení k databázi, která je za
bránou firewall.
• Vzdálené přeposílání portů (Remote Port Forwarding) - Tento typ přeposílání
umožňuje aplikacím na straně serveru přístup ke službám na straně klienta. Vzdálené
předávání portů SSH umožňuje uživatelům bezpečně se připojit ke vzdáleným
serverům prostřednictvím jejich lokálního PC přesměrováním místního portu na
vzdálený server SSH.
• Dynamické předávání portů (Dynamic Port Forwarding) - To umožňuje uživatelům
posílat svá data přes konkrétní port na vzdálený počítač nebo server pomocí řady
serverů SSH, které fungují jako servery proxy. |
Historie SSH | Protokol byl prvně využíván kolem roku 1969 pro komunikaci mezi počítači
v uzavřené síti. Protokol nebyl zabezpečen, bylo možné odposlechnout heslo, které zadával
uživatel při přihlašování k serveru.
Protokol se vyvíjel dále, a tak v roce 1999 vznikla verze SSH-2. Roku 2006 byla revidovaná
verze protokolu SSH-2 navržena jako skupina několika internetových RFC standardů. |
Struktura | SSH používá klient-server architekturu – uživatel se připojuje prostřednictvím klienta obvykle
ze svého osobního počítače na server. Server je proces, který poslouchá obvykle na TCP
portu 22.
Uživatel musí v klientovi zadat adresu serveru (IP adresu či doménové jméno) a volitelně
číslo portu. |
Vrstvy SSH: | • Transportní – Cílem transportního protokolu je vytvořit zašifrované (důvěrné) spojení
se zajištěním integrity a autenticity zpráv.
• Autentizační – Ověřuje identitu uživatele. Umožňuje jak autentizaci heslem, tak
veřejným klíčem.
• Spojení – Definuje koncept kanálů, požadavků kanálů a globálních požadavků, skrze
které jsou poskytovány SSH služby. |
Autentizace | •Podporované typy autentizace:
1. gssapi – ověření pomocí Kerberos tiketů.
2. hostbased – server důvěřuje autentizaci uživatele na počítači, ze kterého se hlásí.
3. publickey – autentizace pomocí veřejného a soukromého klíče uživatele.
4. keyboard-interactive (challenge-response) – server postupně posílá dotazy klientovi
a uživatel na ně odpovídá, dokud server nakonec nerozhodne, zda se uživatel
autentizoval či ne.
5. password – autentizace pomocí hesla.
•Autentizace uživatele pomocí soukromého/veřejného klíče je v principu podobné autentizaci
serveru:
1. Uživatel nejdříve vygeneruje svoji dvojici soukromý/veřejný klíč.
2. Uživatel svůj veřejný klíč umístí na server
3. Klient vytvoří autentizační zprávu (obsahuje uživatelské jméno, veřejný klíč a několik
dalších údajů)
4. Server vezme odpovídající uložený veřejný klíč uživatele a ověří obdržený digitální
podpis. |