IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 1 - SSH - Konfigurace a připojení

V této lekci si vysvětlíme, co je to SSH a ukážeme si jeho různé způsoby použití v praxi. I když je SSH původem linuxový nástroj, ukážeme si jeho použití i na Windows. A pro Mac platí v podstatě to, co pro Linux.

Co je to SSH a k čemu je dobré

SSH, neboli Secure Shell, vznikl jako náhrada za telnet. Telnet je protokol, který umožňuje vzdálené připojení k jinému počítači (např. i routery, switche) a textovou komunikaci mezi nimi (ve formě vzdáleného terminálu). Nemusíte tedy fyzicky přijít k danému zařízení a připojit si klávesnici a monitor. Stačí být připojen k jedné síti. Obrovská nevýhoda telnetu je to, že komunikace probíhá jako plain-text - posílaná data nejsou nijak šifrována a kdokoliv v síti je tedy může odposlouchávat. A právě v reakci na toto (studenti ukradli hesla v univerzitní síti) byl v roce 1995 vyvinut SSH.

SSH je tedy zabezpečený komunikační protokol (využívá TCP/IP). Kromě toho je to také název unixového programu, který pomocí tohoto protokolu zprostředkovává komunikaci mezi počítači na více úrovních. SSH umožňuje kromě přístupu ke vzdálenému terminálu také přenos souborů a tzv. síťové tunelování, které slouží pro zabezpečený přenos jakýkoliv dat.

Instalace SSH

SSH se skládá ze dvou částí, které operují nezávisle na sobě - klient a server. Funguje to tak, že pokud se chcete připojit na vzdálený počítač, stačí Vám pouze SSH klient. Podmínkou ale je, že na onom vzdáleném počítači musí být nainstalovaný právě SSH server, který Vám zprostředkuje potřebné služby. To znamená, že pokud i Vás počítač má přijímat SSH spojení, musí na něm být nainstalovaný SSH server. Dnes se podíváme na instalaci a nastavení klienta, o serverech si povíme v příštím díle.

Linux a Mac

Tady je to opravdu jednoduché, protože Mac a valná většina Linuxových distribucí mají SSH klienta už nainstalovaného. Pokud by náhodou chyběl, stačí zadat příkaz (platí pro distribuce založené na Debianu- např. Ubuntu):

$ sudo apt-get install ssh

případně pro Red Hat distribuce (Fedora):

$ sudo yum install ssh

Windows

Pro Windows existuje několik alternativ SSH klientů, jednou z nejpoužívanějších je pak např. PuTTY. Můžete taky využít Cygwin, což je "emulátor" Linuxu pro Windows, a ssh používat tam. Hodí se především, pokud si více rozumíte s terminálem, než s GUI. My si ukážeme PuTTY, které je velmi jednoduché na použití.

Připojení k serveru

Linux a Mac

Na SSH server se připojíte pomocí příkazu ssh, který spustíte v terminálu. Základní syntaxe programu je následující :

$ ssh [-vvv] [-p port] [uživatel@]server

Volba -vvv (-vv, -v) znamená úroveň vypisování. Více v znamená větší úroveň. Maximálně lze použít 3 v. Volba -p nastavuje port na který se připojit.

Pokud nezadáte uživatele, použije se jméno aktuálně přihlášeného. Dávejte si pozor při zadávání hesla, na UNIXových systémech se totiž při zadávání nezobrazuje, a nezobrazují se místo něho ani zástupné znaky jako hvězdičky apod.

Ukázka typického použití:

$ ssh [email protected]

případně s IP adresou:

$ ssh [email protected]

Tato zpráva se vám zobrazí při prvním připojení na server z daného počítače, je normální, a stačí napsat yes a potvrdit.

The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
Are you sure you want to continue connecting (yes/no)?

Ukázka připojení k PC s Windows:

SSH

Windows

Spusťte PuTTY. Do Hostname napište IP adresu (případně jméno) serveru, ke kterému se chcete připojit (IP adresu počítače můžete jednoduše zjistit příkazem ipconfig na Windows a ifconfig na Linuxu). Port vě většině případů necháte na 22 (výchozí port pro SSH), ale na serveru je toto samozřejmě možné změnit. Klikněte na tlačítko Connect. Pokud se k danému serveru připojujete poprvé, zobrazí se vám nejspíše varování podobné tomuto:

SSH

To potvrďte (důležité je vědět, že se připojujeme k serveru, ke kterému chceme). PuTTY si uloží tzv. RSA klíč serveru a při každém připojení ověří, jestli se nezměnil. Pokud ano, upozorní nás na to - může to znamenat, že se připojujeme k serveru, který se pouze vydává za server, který chceme (připojením k takovému serveru bychom prakticky vyzradili naše přihlašovací údaje). Po potvrzení se objeví terminálové okno. V něm uvidíte text "login as: ". Zde zadejte své uživatelské jméno. Následně se objeví výzva k zadání hesla. Pokud zadáte platné informace, objeví se prompt, kde již můžete zadávat samotné příkazy.

SSH

Nastavení SSH

Určitě se nám nechce pokaždé zadávat ty stejné údaje. Klienty SSH naštěstí umožnují široké nastavení a vytváření tzv. aliasů. Základní nastavení klientů je většinou obdobné (podobné nebo stejné pojmenování) a pokud pochopíte princip, měli by jste bez problému nastavit různé programy.

Linux a Mac

/etc/ssh/ssh_config

Globální konfigurace SSH klienta na UNIXových systémech - nastavení provedené zde bude aplikováno na všechny uživatele. Měňte jen, pokud víte, co děláte..

~/.ssh/config

Personální konfigurace uživatele - zde si můžeme například nadefinovat naše oblíbené servery, abychom nemuseli pokaždé vypisovat celou jejich adresu. Můžeme zde potlačit globální konfiguraci uvedenou v ssh_config. Tento soubor by měl být zapisovatelný/či­telný pro vlastníka, ale ne pro ostatní. (Práva 600)

Pro konfiguraci SSH existuje několik velmi používaných direktiv - ty si popíšeme. Ostatní lze najít v manuálové stránce ssh_config(5).

Nejčastěji asi budeme chtít vytvářet konfigurace pro specifické servery.

Host ex
    Port 2222
    HostName example.cz
    User ucet

Když se budeme chtít připojit, stačí už jen napsat:

$ ssh ex

namísto

$ ssh -p 2222 [email protected]

Pokud chceme nastavit něco globálně - pro každé připojení, použijeme wildcard *

Host *
    ForwardX11 on

Dále uvedu několik nejpoužívanějších atributů.

Port 2222

Port, ke kterému se připojit, výchozí je 22. V ukázce vidíme port 2222, což je druhý nejpoužívanější port pro SSH.

HostName example.cz

Jméno serveru, ke kterému se chceme připojit (můžeme použít i IP adresu).

User ucet

Uživatel, pod kterým se klient na server připojí.

IdentityFile /cesta/ke/klíči

Z bezpečnostních důvodů nelze do konfiguračních souborů zadávat hesla. Můžeme však využít přihlášení klíčem, o kterém si řekneme za chvíli. Ve výchozím nastavení se klíč hledá v cestách ~/.ssh/{id_dsa, id_rsa, id_ecdsa, id_ed25519}. Zajímavá je taky escape sekvence %r, která se nahrazuje jménem uživatele, ke kterému se přihlašujete, nebo %u, což je jméno lokálního uživatele. Pokud nemáte možnost identifikovat se pomocí klíče (toto je nutné povolit na straně serveru), při každém přihlášení budete muset zadat své heslo.

ForwardX11 on

Zajímavá vlastnost, dovoluje spouštět X programy na serveru a jejich okna zobrazovat u klienta. Povíme si o ni v budoucích dílech seriálu.

Windows

Pro Cygwin použijte návod pro Linux. U PuTTY je základní konfigurace velmi jednoduchá. Základní údaje pro připojení naleznete v sekci Session. PuTTY podporuje různé typy připojení, my použijeme samozřejmě SSH. Je možné nastavit uživatele, kterým se budeme automaticky přihlašovat a to nastavením Auto-login username v sekci Connection->Data. Pokud používáte proxy, nastavte jej v sekci Connection->Proxy. O ostatních možnostech konfigurace si povíme později, ale typicky pro běžné použití je všechno nastaveno tak, jak má být.

Celou konfiguraci je možné uložit do profilu, a to v sekci Session po zadání jména, a kliknutí na Save. Poté si ji můžete načíst zvolením přislušné session a kliknutím na tlačítko Load.

SSH

Nyní už víte, jak se k SSH připojit, a jak si vytvořit vlastní SSH Server.

V příští lekci, SSH - Instalace a nastavení serveru, si nainstalujeme a nastavíme SSH server na operačních systémech Linux a Windows.


 

Všechny články v sekci
SSH
Přeskočit článek
(nedoporučujeme)
SSH - Instalace a nastavení serveru
Článek pro vás napsal Neaktivní uživatel
Avatar
Uživatelské hodnocení:
76 hlasů
Tento uživatelský účet již není aktivní na základě žádosti jeho majitele.
Aktivity