Zpět na nástroje

Generátor SSH klíčů

Sestavte přesný příkaz ssh-keygen, komentář klíče podle účelu a hotovou zkratku ~/.ssh/config. Tato stránka nikdy negeneruje skutečný klíč — pouze sestaví příkaz, který si spustíte sami.

Ve vašem prohlížeči nikdy nevzniká žádný klíč.

Stránce, která vám dá soukromý klíč, je třeba nedůvěřovat — soukromá polovina by nikdy neměla opustit stroj, na kterém vznikla. Tento nástroj pouze sestaví příkaz ssh-keygen níže. Zkopírujete si ho a spustíte sami, ve svém vlastním terminálu, kde klíč skutečně vznikne a zůstane.

Krok 1

Vyberte algoritmus

Oba vytvoří skutečný pár klíčů. Rozdíl je ve velikosti, rychlosti a v tom, které servery je přijímají.

Ed25519 je moderní algoritmus na eliptických křivkách: krátké klíče, rychlé generování i autentizace, a podporuje ho každý SSH server přibližně z posledního desetiletí. Použijte ho, pokud vás k jinému řešení netlačí konkrétní důvod.

Použijte tvar vy@ucel-rok, ne výchozí komentář stroj@host. Když se v authorized_keys na serveru sejde pět klíčů, komentář je jediná věc, která prozradí, kterému notebooku nebo účelu který klíč patří.

Ponechte prázdné a přijměte výchozí umístění ssh-keygen (zobrazené výše jako zástupný text). Nastavte jen tehdy, když vedle sebe držíte více klíčů.

Vyšší hodnota zpomalí prolomení ukradeného klíče chráněného heslem — a zároveň zpomalí každé odemčení. Ponechte prázdné pro výchozí hodnotu ssh-keygen.

Výsledek

Spusťte toto ve svém vlastním terminálu

ssh-keygen -t ed25519 -C 'you@wespner-vps-2026'

Uloženo do výchozího umístění: ~/.ssh/id_ed25519 (a ~/.ssh/id_ed25519.pub).

Heslo klíče

Budete o něj požádáni — a tady je ten kompromis

ssh-keygen vás vyzve k zadání hesla dvakrát, nebo dvakrát stiskněte Enter pro žádné. Nic výše ho za vás nenastavuje — heslo patří do terminálu, nikdy ne do uloženého příkazu.

S heslem: pokud je soubor s klíčem někdy ukraden — krádež notebooku, uniklá záloha — je bez hesla k ničemu. Cenou je zadávání hesla při každém připojení.

Bez hesla: nulové tření, ale kdokoliv získá soubor se soukromým klíčem, dostane se dovnitř okamžitě. ssh-agent (Linux), macOS Keychain nebo Pageant (PuTTY) řeší problém s třením: odemknete jednou za relaci a každé další připojení proběhne potichu, takže málokdy má smysl heslo vynechávat.

Proč na tom záleží

Ed25519 vs RSA, jasně

Ed25519 je novější algoritmus na eliptických křivkách: klíč má pár set bajtů místo několika kilobajtů, výpočty jsou rychlejší na obou stranách a je to doporučená výchozí volba na serverech zhruba za poslední desetiletí.

RSA 4096 je starší a pomalejší, ale rozumí mu doslova každá implementace SSH, jaká kdy vyšla. Sáhněte po něm jen tehdy, když je server příliš starý nebo příliš uzavřený na Ed25519 — starší síťové prvky, některé spravované hostingy, staré podnikové appliance. Pokud nevíte, jestli se vás to týká, netýká — použijte Ed25519.

Krok 2

Kam klíč směřuje

Tyto údaje napájí jak příkazy pro kopírování na server níže, tak zkratku SSH configu v kroku 3.

Jak se tam dostat

Nahrajte veřejný klíč na server

Z vašeho stroje odchází pouze soubor .pub. Soukromý klíč (bez .pub) se nikam nekopíruje.

Nejjednodušší: ssh-copy-id (macOS/Linux, nebo WSL/Git Bash na Windows)

ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@play.wespner.eu

Ruční cesta: připojte se do authorized_keys sami

cat ~/.ssh/id_ed25519.pub | ssh deploy@play.wespner.eu "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Tento jednořádkový příkaz cestou nastaví ~/.ssh na 700 a authorized_keys na 600 — SSH tiše ignoruje oba soubory, pokud jsou oprávnění volnější. Pokud je potřeba je dodatečně opravit, použijte kalkulačku chmod & chown nebo se podívejte, co přesně tyto dva režimy povolují.

Krok 3

Sestavte zkratku ~/.ssh/config

Změní ssh deploy@play.wespner.eu -p 22 -i ~/.ssh/id_ed25519 na pouhé ssh wespner-vps.

~/.ssh/config

Host wespner-vps
    HostName play.wespner.eu
    User deploy
    Port 22
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

Vložte tento blok do ~/.ssh/config (soubor vytvořte, pokud ještě neexistuje), a pak se připojte jen pomocí ssh wespner-vps — žádný uživatel, host, port ani přepínač -i už nikdy nebudou potřeba.

Windows

OpenSSH v PowerShellu, nebo PuTTYgen

Windows 10/11 mají OpenSSH ve výchozím stavu — příkaz ssh-keygen výše funguje beze změny v PowerShellu i v příkazovém řádku. Klíče se ukládají do C:\Users\vy\.ssh\ (PowerShell zpracuje ~ stejným způsobem).

ssh-copy-id není součástí Windows OpenSSH. Použijte místo něj ekvivalent v PowerShellu:

Kopírování na server v PowerShellu

Get-Content ($env:USERPROFILE + '\.ssh\id_ed25519.pub') | ssh deploy@play.wespner.eu "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Preferujete PuTTY/WinSCP? Vygenerujte klíč v PuTTYgen (Generate → pohybujte myší → Save private key jako .ppk), pak zkopírujte text veřejného klíče zobrazený nahoře okna přímo do authorized_keys. Config je na stejné cestě ~/.ssh/config, pokud používáte klienta OpenSSH — Pageant/WinSCP mají vlastní seznam uložených relací.

macOS / Linux

Přímo v terminálu

Spusťte příkaz výše přímo v terminálu. Klíče se ukládají do ~/.ssh/ a ssh-copy-id je součástí téměř každé distribuce (macOS: brew install ssh-copy-id, pokud chybí).

Config je na ~/.ssh/config — stejný blok jako v kroku 3, žádný převod není potřeba.

Abyste nemuseli zadávat heslo klíče při každém připojení: ssh-add ~/.ssh/id_ed25519 ho načte do ssh-agent na dobu relace. Na macOS si ho ssh-add --apple-use-keychain ~/.ssh/id_ed25519 (nebo UseKeychain yes v konfiguračním bloku) zapamatuje i po restartu díky Keychainu.

Provozuješ vlastní herní server?

Herní servery Wespner s DDoS ochranou, NVMe disky a aktivací do pár minut.

Prohlédnout hosting