Tipy & triky · Workflow · Všude · ~5 min denně · 2 min čtení
ssh-copy-id: přihlašujte se na server bez psaní hesla
Naposledy ověřeno:

Psát heslo při každém přihlášení na server je otrava — a paradoxně i slabší zabezpečení, než jaké nabízí přihlašování klíčem. SSH klíč je dvojice souborů: soukromá část zůstává u vás, veřejná se nahraje na server, a od té chvíle se domluví samy. Kámen úrazu býval právě ten přenos veřejného klíče na server: ruční editace souboru authorized_keys se správnými právy je přesně ten úkon, kde se chybuje. Příkaz ssh-copy-id to celé udělá za vás — správně, napoprvé a jedním řádkem.
Jak na to
- Pokud ještě klíč nemáte, vytvořte si ho:
ssh-keygen -t ed25519. Dotazy můžete odklepnout Enterem; heslo ke klíči (passphrase) je volitelná pojistka navíc pro případ, že by se k souboru s klíčem dostal někdo cizí. - Nahrajte veřejný klíč na server:
ssh-copy-id uzivatel@server. Naposledy zadáte heslo — příkaz klíč připojí do~/.ssh/authorized_keysna serveru a nastaví správná oprávnění. - Vyzkoušejte:
ssh uzivatel@server— přihlásí vás bez ptaní na heslo serveru. ssh-copy-idje součástí OpenSSH na Macu a Linuxu. Ve Windows tento pomocný skript chybí — buď ho spusťte z Git Bashe či WSL, kde k dispozici je, nebo obsah souboruid_ed25519.pubna server přeneste ručně: přihlaste se naposledy heslem a řádek s klíčem připojte na konec souboru~/.ssh/authorized_keys.- Opakujte pro každý server, kam se hlásíte. Tentýž veřejný klíč můžete nahrát na víc serverů — a patří i do GitHubu či GitLabu (v nastavení účtu, sekce SSH klíče), ať i git push běží bez hesel.
Vzorová situace
Vývojář se během dne hlásí na tři servery: testovací, produkční a NAS doma. Každé přihlášení znamenalo vylovit heslo ze správce hesel, zkopírovat, vložit — dvacet vteřin otravné mechaniky, mnohokrát denně, o scp a rsync, které se ptají znovu, nemluvě. Jedno odpoledne spustí třikrát ssh-copy-id a od té doby je každé připojení okamžité. Bonus, který ocení až časem: na serverech pak může nechat vypnout přihlašování heslem úplně, čímž zmizí i riziko útoků hádáním hesla. A skripty, které dřív nešly automatizovat, protože se uprostřed ptaly na heslo — zálohy přes rsync, nasazení přes scp — najednou běží bez dozoru.
Co vám to přinese
Každé připojení na server je o vteřiny rychlejší a o jedno vyrušení chudší — což se u lidí, kteří se hlásí desetkrát denně, opravdu sečte. Přihlašování klíčem je zároveň bezpečnostní upgrade: klíč se nedá odpozorovat ani uhádnout jako heslo. A navazující tip aliasy v SSH konfigu zkrátí i samotný příkaz ssh na jedno slovo.
Chcete jít do hloubky? V příručce najdete kapitolu Základní systémy: inbox, priority, revize.
Podobné tipy
git stash: odložte rozdělanou práci na později
Přijde urgentní oprava a vy máte rozpracovaný kód? git stash ho schová do šuplíku, git stash pop zase vrátí. Bez polovičatých commitů.
Více ploch: oddělte práci od komunikace
Ctrl+→
Ctrl+šipky přepínají mezi virtuálními plochami. Jedna na soustředěnou práci, druhá na mail a chat — a rozptýlení mizí z očí.
Parkovací soubor: rozdělaná práce přežije každé vyrušení
Než vás schůzka nebo kolega vytrhnou z práce, napište si jednu větu: co dělám a jaký je další krok. Návrat pak trvá vteřiny, ne čtvrt hodiny.
Pomohlo vám to?
Líbil se vám tip?
Každý týden posílám jeden takový do e-mailu. Dvě minuty čtení, hodiny úspor.
1 tip týdně · žádný spam · odhlášení jedním klikem