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íč.
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 [email protected]
Ruční cesta: připojte se do authorized_keys sami
cat ~/.ssh/id_ed25519.pub | ssh [email protected] "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 [email protected] -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 yesVlož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 [email protected] "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.