SSH, nebo také Secure Shell(odkaz je externí), je technologie, skrze kterou je možné se zabezpečeným způsobem připojit na vzdálené počítače, zpravidla servery. Technologie využívá příkazovou řádku.

V praxi se jedná o skutečné uživatelské přihlášení, tzv. login, do vzdáleného serveru. Proto se všechny příkazy, které po loginu na příkazové řádce zadáváte, realizují na straně vzdáleného serveru.

SSH je dnes de facto standardem. V případě vývoje webů tuto technologii využijeme především pro zabezpečený přístup do vzdálených Git repozitářů. To znamená, že budeme schopni do vzdáleného repozitáře např. na Githubu(odkaz je externí) poslat svůj kód.

Ti z vás, kteří se místo klasického webhostingu rozhodnou pořídit si vlastní server, např. VPS, pak tuto technologii využijí k loginu do vzdáleného serveru, kde následně budou schopni provést instalaci a konfiguraci všeho potřebného včetně samotného webu, a to jednoduše skrze příkazovou řádku.

Základem této technologie je SSH klíč, který se skládá ze dvou částí - privátní a veřejné. Tzv. privátní klíč (private key) je uložen v jednom souboru a veřejný klíč (public key) v druhém souboru. Klíč samotný je vygenerován pomocí jednoho z kryptovacích algoritmů, nejčastěji RSA(odkaz je externí).

Idea je v zásadě jednoduchá. Do vzdálených lokací, např. na server, se umístí veřejný klíč, který, jak jeho název napovídá, není nijak tajný. V praxi můžete tuto část klíče nahrát na neomezené množství vzdálených serverů a fakt, že majitelé či provozovatelé těchto serverů mají k souboru přístup, pro vás nepředstavuje žádné bezpečnostní riziko.

Privátní klíč je naopak soubor, který je tajný a který se nachází výhradně ve vašem počítači, a to ve speciální složce, viz. dále. Během loginu se na pozadí spojí obě části klíčů, a pokud je výsledek v pořádku, má uživatel přístup do vzdáleného serveru.

Vygenerování SSH klíče

K vygenerování klíče otevřete terminál, např. pomocí klávesové zkratky ctrl + shift + t a zadejte následující příkaz: ssh-keygen -t rsa -b 4096 -C “[vaše emailová adresa].

Příkaz spustí průvodce, který se vás v dalším kroku zeptá na to, jak chcete, aby se soubor jmenoval. Pokud vám vyhovuje defaultní název souboru id_rsa, můžete jednoduše stisknout tlačítko enter.

Výchozí lokace klíče je v linuxových systémech složka .ssh v adresáři home, tedy lokace ~/.ssh , což je totéž jako /home/[username]/.ssh/.

V dalším kroku jste vyzváni ke zvolení přístupového hesla a hned v následném kroku k jeho potvrzení. Zvolte si heslo, které nezapomenete- nic jako obnova zapomenutého hesla totiž v této technologii nefunguje.

Nyní máme klíč vygenerovaný a umístěný ve správné lokaci. Pokud jste použili defaultní název souboru, nachází se ve složce .ssh soubor id_rsa, což je váš private key, a soubor id_rsa.pub, což je váš public key.

K vygenerování klíče otevřete terminál (iTerm) a zadejte následující příkaz: ssh-keygen -t rsa -b 4096 -C “[vaše emailová adresa]”.

Příkaz spustí průvodce, který se vás v dalším kroku zeptá na to, jak chcete, aby se soubor jmenoval. Pokud vám vyhovuje defaultní název souboru “id_rsa”, můžete jednoduše stisknout tlačítko enter.

Výchozí lokace klíče je v linuxových systémech složka .ssh v adresáři home, tedy lokace ~/.ssh , což je totéž jako /Users/[username]/.ssh/.

V dalším kroku jste vyzváni ke zvolení přístupového hesla a hned v následném kroku k jeho potvrzení. Zvolte si heslo, které nezapomenete- nic jako obnova zapomenutého hesla totiž v této technologii nefunguje.

Nyní máme klíč vygenerovaný a umístěný ve správné lokaci. Pokud jste použili defaultní název souboru, nachází se ve složce .ssh soubor id_rsa, což je váš private key, a soubor id_rsa.pub, což je váš public key.

Víte, jak vygenerovat ssh klíč na počítačích s operačním systémem Windows? Přispějte do komunity a pomozte dlouhodobě tak těm, kteří neví jak na to.

Pokud potřebujete přístupy do adminstrace webu, obraťte se na někoho z Drupal týmu.

Přidání klíče do programu ssh-agent

Program ssh-agent je nástroj pro správu ssh klíčů. Tento program je operačním systémem zpravidla automaticky spuštěn při přihlášení. Program následně na pozadí zajišťuje proces autentikace ssh klíče.

Tím, že jste v systému právě vytvořili nový klíč, ho ovšem váš ssh-agent ještě nemá načtený, neboť načítání klíčů probíhá při spuštění programu. Nyní máte dvě možnosti:

  • Odhlásit se ze systému, a následně přihlásit.
  • Zadat následující příkazy, čímž dojde k načtení nových klíčů:
    • eval "$(ssh-agent -s)"
    • ssh-add ~/.ssh/id_rsa

A to je vše. Pro účely autentikace do vzdálených repozitářů by nyní mělo být vše funkční. V další části tohoto tutoriálu se budeme zabývat samotným přihlášením do vzdáleného serveru a také možnostmi použití vícero ssh klíčů.

Víte, jak přidat ssh klíč do programu ssh-agent či do jiného ekvivalentního programu na počítačích Apple? Přispějte do komunity a pomozte dlouhodobě tak těm, kteří neví jak na to.

Pokud potřebujete přístupy do adminstrace webu, obraťte se na někoho z Drupal týmu.

Víte, jak přidat ssh klíč do programu ssh-agent či do jiného ekvivalentního programu na počítačích s operačním systémem Windows? Přispějte do komunity a pomozte dlouhodobě tak těm, kteří neví jak na to.

Pokud potřebujete přístupy do adminstrace webu, obraťte se na někoho z Drupal týmu.