SSH, více než zabezpečený shell

SSH (Secure Shell) je protokol, který nám umožňuje bezpečný přístup ke vzdáleným počítačům, v podstatě jako Telnet, ale s využitím šifrovacích algoritmů, které nám pomáhají udržovat naše připojení v bezpečí, zejména pokud chceme přistupovat k počítačům, které v rámci organizace vykonávají důležitou funkci.

Obecně platí, že pro přístup musíme zadat naše uživatelské jméno a adresu počítače, aby nás server SSH požádal o přístupové heslo:

ssh usuario@equiporemoto

Od okamžiku, kdy klient zahájí první spojení mezi vzdáleným počítačem a námi, informace již bezpečně cestují a brání tomu, aby někdo získal naše přístupové údaje k uvedenému počítači, nicméně SSH je velmi přizpůsobivý protokol, který nám nabízí mnoho možností.

SCP

Prvním z nich je schopnost přenášet soubory mezi klientem a vzdáleným počítačem bez nutnosti připojení serveru FTP nebo NFS, jednoduše pomocí SCP (Secure CoPy), který implementuje většina serverů SSH:

scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt

SSH tunelování

Tato funkce je velmi užitečná, protože nám umožňuje odesílat a přijímat informace, které nemusí být nutně příkazy prostředí mezi klientem a vzdáleným počítačem, například běžné procházení. Pokud nevíte, jaké to může mít použití, přemýšlejte o následujícím: musíte přistupovat ke stránce, ale místo, kde se nacházíte, má implementovaný firewall, který přesně blokuje tuto stránku, proto můžeme provést tunelování pomocí dálkového ovladače počítač, který nemá uvedené bloky a procházení uvedené stránky prostřednictvím naší relace SSH:

ssh -D 8888 usuario@equiporemoto

Po připojení náš klient SSH „naslouchá“ na portu 8888 jako server proxy, abychom mohli nakonfigurovat náš prohlížeč a veškerý provoz se přenáší prostřednictvím relace SSH

Tunel SSH

Dalším příkladem, který mě napadá, je situace, kdy kvůli určitému geografickému omezení nemůžeme přistupovat k webové službě z místa, kde jsme, při vytváření tunelu uvedená webová služba detekuje jako zdroj IP adresu našeho vzdáleného serveru, nikoli IP klienta. To je do jisté míry ekvivalentní VPN (Virtual Private Network)

Reverzní SSH

Pokud z nějakého důvodu potřebujeme přistupovat k počítači, který je za bránou firewall a neumožňuje nám přesměrovat na něj provoz SSH, můžeme provést „reverzní SSH“ takovým způsobem, že se tento počítač připojí k jinému serveru SSH, na ke kterému se také můžeme připojit, abychom získali přístup k zařízení za firewallem. Příklad, který nás napadne, je, když chceme pomoci příteli, který nemá ponětí, jak nakonfigurovat přesměrování na svém modemu, ale potřebujeme k jeho počítači přistupovat vzdáleně:

Friend -> Modem -> SSH Server <- O nás

Kroky, které je třeba dodržet, jsou relativně velmi jednoduché:

amigo
ssh -R 9999:localhost:22 usuario@servidorssh

nás
ssh usuario@servidorssh
Jakmile jsme uvnitř serveru SSH, můžeme se spojit s týmem našeho přítele pomocí
ssh amigo@localhost -p 9999

Jak vidíte, všechna kouzla spočívají v parametru -R, který informuje zprostředkující server, že na portu 9999 počítač našeho přítele nyní poslouchá jako server.

Toto je jen několik možností, které nám SSH nabízí, ale já vás například vyzývám k experimentování; můžeme dělat bezobslužné skripty pomocí klíčů RSA, přesměrovat relace X (grafický režim) do našeho grafického prostředí, abychom zmínili jen několik.


Přidat jako preferovaný zdroj v Googlu