SSH (Secure Shell) je síťový bezpečnostní protokol a systém pro zabezpečenou vzdálenou práci s počítači. Je široce používán v systémech Linux k zajištění bezpečného přístupu ke vzdáleným serverům a přenosu dat mezi nimi. Vytváření a používání klíčů SSH je jedním z nejspolehlivějších způsobů, jak zajistit bezpečné připojení k serveru.
SSH klíče jsou sada kryptografických klíčů používaných k autentizaci při připojení ke vzdálenému serveru. Klíč se skládá z veřejné a soukromé části. Veřejná část (public key) je uložena na serveru a soukromá část (private key) je uložena v místním počítači. Když se připojíte k serveru, SSH používá soukromý klíč k ověření uživatele a veřejným klíčem server ověřuje vaše pravé připojení.
Vytvoření klíče SSH může být užitečné, pokud chcete zajistit bezpečný přístup k serveru nebo interakci s jiným systémem pomocí protokolu SSH. V tomto článku se podíváme na to, jak vytvořit SSH klíč v Linuxu a jak jej použít k bezpečnému připojení ke vzdálenému serveru.
Určení a přiřazení SSH klíčů
SSH klíče jsou to kryptografické nástroje, které se používají k autentizaci a bezpečné výměně dat mezi klienty a servery pomocí protokolu SSH (Secure Shell). Každý SSH klíč se skládá ze dvou částí: soukromého a veřejného klíče. Soukromý klíč je uložen v klientském počítači a veřejný klíč je k dispozici pro server, ke kterému se uživatel pokouší připojit.
Použití SSH klíčů poskytuje vyšší úroveň zabezpečení než použití ověřovacího hesla, protože klíče jsou jedinečné a matematicky obtížné najít stejný klíč k útoku. Při použití SSH klíčů, namísto zadávání hesla při připojení k serveru, dochází k automatické kontrole klíčů, což poskytuje pohodlí a bezpečnost.
Vytvoření SSH klíčů v Linuxu umožňuje uživatelům poskytnout svůj veřejný klíč serverům, na kterých se chtějí připojit, a tím zajistit bezpečné a automatizované připojení, aniž by museli pokaždé zadávat heslo.
Jak vytvořit SSH key v Linuxu
K vytvoření SSH key v Linuxu se používá příkaz ssh-keygen. Tento příkaz generuje několik klíčů: soukromý a veřejný. Soukromý klíč zůstává na místním počítači a veřejný klíč musí být zkopírován na vzdálený server.
Chcete-li vytvořit SSH key v Linuxu, postupujte podle následujících kroků:
Generating public/private rsa key pair.Enter file in which to save the key (/home/your_username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):Enter same passphrase again:
Your identification has been saved in /home/your_username/.ssh/id_rsa.Your public key has been saved in /home/your_username/.ssh/id_rsa.pub.The key fingerprint is:SHA256:abcdefghijklmnopqrstuvwxyz1234567890 [email protected] key's randomart image is:+---[RSA 4096]----+| || . || .o . || o+*.. || + o ooS. || . + E .+. ||. . . + ||. . . || |+-----------------+
Nyní je váš SSH key úspěšně vytvořen. Soubory klíčů jsou v adresáři / home / your_username/.ssh / na vašem místním počítači. Veřejný klíč s rozšířením .pub obsahuje vaše uživatelské jméno a veřejný klíč.
Chcete-li používat SSH key při připojení ke vzdálenému serveru, musíte zkopírovat veřejný klíč na server. To se obvykle provádí přidáním veřejného klíče do souboru ~/.ssh / authorized_keys na serveru.
Nyní jste připraveni použít svůj SSH key k bezpečnému připojení ke vzdálenému serveru v Linuxu.
Krok 1: Kontrola klíčů
Před vytvořením nového klíče SSH se doporučuje zkontrolovat, zda máte na svém zařízení již existující klíče.
Klíče můžete zkontrolovat spuštěním následujících příkazů v terminálu:
| Tým | Popis |
|---|---|
| ls -al ~/.ssh | Zobrazit obsah katalogu .ssh, kde jsou klíče obvykle uloženy |
| cat ~/.ssh/id_rsa.pub | Zobrazit obsah veřejného klíče (id_rsa.pub) |
| cat ~/.ssh/id_dsa.pub | Zobrazit obsah veřejného klíče (id_dsa.pub) |
Pokud příkaz ls-al ~/.ssh nenajde žádné soubory, takže nemáte klíče a můžete přejít k dalšímu kroku.
Pokud však příkaz ls-al ~/.ssh zobrazí jeden nebo oba z následujících souborů:
To znamená, že již máte klíče a můžete je použít pro připojení přes SSH. Pokud chcete vytvořit nový klíč pro jiný systém nebo pokud používáte jiné heslo, můžete tento krok přeskočit a přejít na další.
Krok 2: Vytvoření nových klíčů
1. Otevřete terminál a zadejte příkaz:
| ssh-keygen -t rsa -b 4096 -C "[email protected]" |
Vyměňte "[email protected]" na váš e-mail související s GitHub.
2. Po zadání příkazu se zobrazí zpráva:
| Generating public/private rsa key pair. |
3. Stisknutím klávesy Enter přijmete výchozí umístění a název souboru klíče.
4. Poté se zobrazí výzva k zadání hesla:
| Enter passphrase (empty for no passphrase): |
Zadání hesla není povinné, ale doporučuje se pro zvýšení bezpečnosti. Pokud nechcete používat heslo, stačí stisknout Enter.
5. Po zadání hesla se zobrazí zpráva:
| Your identification has been saved in /home/your_username/.ssh/id_rsa. |
| Your public key has been saved in /home/your_username/.ssh/id_rsa.pub. |
6. Vaše nové klíče jsou vytvořeny! Nyní můžete přejít k dalšímu kroku-Nastavení agenta SSH.
Krok 3: Uložení veřejného klíče
Po úspěšném generování klíčového páru musíte veřejný klíč uložit na vzdálený server, ke kterému chcete přistupovat. To umožní serveru provádět autentizaci prostřednictvím prostředků klíčů SSH.
Chcete-li uložit veřejný klíč, postupujte podle následujících kroků:
| 1. | Zkopírujte obsah veřejného klíče. |
| 2. | Přihlaste se ke vzdálenému serveru pomocí svého přihlašovacího jména a hesla. |
| 3. | Otevřete soubor ~/.ssh / authorized_keys na vzdáleném serveru pro úpravy. |
| 4. | Vložte zkopírovaný obsah veřejného klíče do souboru ~/.ssh/authorized_keys . |
| 5. | Uložte změny a zavřete soubor. |
| 6. | Proveďte příkaz chmod 600~/.ssh / authorized_keys pro instalaci správných oprávnění k souboru. |
Server vás nyní automaticky ověřuje pomocí soukromého klíče SSH.
Krok 4: přidání klíče na vzdálený server
Po vytvoření klíče SSH v místním počítači jej musíme přidat na vzdálený server, abychom k němu měli přístup bez zadání hesla.
Chcete-li to provést, postupujte podle následujících kroků:
- Přihlaste se ke vzdálenému serveru pomocí pověření (uživatelské jméno a heslo).
- Otevřete soubor ~/.ssh / authorized_keys na vzdáleném serveru v textovém editoru.
- Zkopírujte veřejný klíč id_rsa.pub z místního počítače a vložte jej na konec souboru authorized_keys na vzdáleném serveru.
- Uložte změny do souboru authorized_keys a zavřete textový editor.
Po úspěšném přidání klíče na vzdálený server budete moci provést připojení SSH bez zadání hesla pouze pomocí soukromého klíče.