SSH Keys
SSH klíč je bezpečnější než heslo. Nedá se uhodnout hrubou silou a nemusíš ho psát při každém přihlášení.
Jak to funguje
Klíč má dvě části:
- Privátní (
id_ed25519) — zůstává u tebe, nikdy ho nesdílej. - Veřejný (
id_ed25519.pub) — nahraješ na server.
Server ověří, že vlastníš privátní klíč, aniž bys ho posílal.
Privátní klíč nikdy neposílej e-mailem, na Discord ani do repozitáře. Kdo ho má, dostane se na tvůj server.
Generování
ssh-keygen -t ed25519 -C "vojta@notebook"Zeptá se na umístění a passphrase.
Passphrase zašifruje privátní klíč na disku. Když ti někdo ukradne notebook,
klíč nepoužije. Používej ji spolu s ssh-agent, ať ji nepíšeš pořád.
| Typ klíče | Doporučení |
|---|---|
ed25519 | výchozí volba, krátký a bezpečný |
rsa (4096 b) | jen pro staré systémy |
dsa, ecdsa | nepoužívat |
Nahrání na server
ssh-copy-id
ssh-copy-id [email protected]Práva jsou kritická. SSH odmítne klíč, pokud má ~/.ssh jiná práva než 700
nebo authorized_keys jiná než 600. Chyba se přitom projeví jen jako
Permission denied.
Vypnutí přihlášení heslem
Ověř, že se přihlásíš klíčem
V druhém okně, aby ses nezamkl venku.
Uprav konfiguraci
sudo nano /etc/ssh/sshd_configPermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yesOtestuj konfiguraci
sudo sshd -tRestartuj SSH
Na Ubuntu/Debian je služba ssh, na Rocky/AlmaLinux sshd.
sudo systemctl restart sshNeodhlašuj původní relaci, dokud v novém okně neověříš, že přihlášení funguje. Když se zamkneš, dostaneš se zpět jen přes VNC konzoli v panelu.
ssh-agent
Načte klíč jednou a passphrase pak nezadáváš:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ssh-add -l # vypis nactenych klicuNa macOS se klíč uloží do klíčenky:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519Více klíčů
Host produkce
HostName 11.22.33.44
User vojta
IdentityFile ~/.ssh/id_ed25519_produkce
IdentitiesOnly yes
Host github.com
IdentityFile ~/.ssh/id_ed25519_github
IdentitiesOnly yesIdentitiesOnly yes zabrání tomu, aby SSH nabízel serveru všechny klíče
postupně. Bez toho tě server po několika pokusech odmítne.
Odebrání přístupu
Smaž řádek s klíčem z ~/.ssh/authorized_keys na serveru. Změna platí okamžitě
pro nová připojení.
Tipy
- Jeden klíč na zařízení. Při ztrátě notebooku odebereš jen jeho klíč.
- Zálohuj privátní klíč šifrovaně, například ve správci hesel.
- Používej passphrase. Vždy.
Poznámka
Herní servery používají SFTP s heslem, ne s klíčem. Klíče se týkají jen VPS.