SSH Authentication with FIDO2¶
Compatible Nitrokeys |
|||||||
|---|---|---|---|---|---|---|---|
✓ active |
✓ active |
⨯ inactive |
⨯ inactive |
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
SSH (Secure Shell) je síťový protokol používaný k bezpečnému přístupu a správě vzdálených systémů, jako jsou servery nebo úložiště kódu (např. GitLab, GitHub). K ověřování používá páry kryptografických klíčů, což umožňuje přihlašování bez hesla se silným zabezpečením. S klíčem Nitrokey je soukromý klíč SSH generován a uložen přímo v zařízení, takže nikdy neopustí hardware. Každé přihlášení vyžaduje dotyk Nitrokey, což přidává jednoduché fyzické potvrzení, které chrání před neoprávněným přístupem.
Generating SSH Key¶
Insert the Nitrokey into your computer.
Otevřete terminál a vytvořte klíč SSH. Nahraďte
"your_comment"štítkem, který ho identifikuje (např. „Nitrokey GitLab“). Ve výchozím nastavení je klíč nerezidentní, což znamená, že místní klíčový handle je uložen v~/.ssh/, zatímco soukromý klíč zůstává bezpečně na Nitrokey. Pokud chcete, aby byl klíč přenosný mezi systémy, použijte volbu-O resident.ssh-keygen -t ed25519-sk -C "your_comment"nebo vytvořit rezidentní klíč
ssh-keygen -t ed25519-sk -O resident -C "your_comment"Poznámka
Rezidentní klíče lze později vypsat a importovat do jiného systému pomocí:
ssh-keygen -KBěhem generování klíče můžete být také vyzváni k nastavení přístupové fráze **** . Tato heslová fráze zašifruje lokální klíčový handle uložený v
~/.ssh/(nikoli soukromý klíč na Nitrokey, který vždy zůstává bezpečně uvnitř zařízení). Tato přístupová fráze se liší od kódu PIN zařízení FIDO2. Kód PIN chrání samotný fyzický klíč, zatímco heslová fráze chrání místní soubor s veřejným klíčem SSH. Passphrase doporučujeme používat pouze k ochraně nerezidentních klíčů.Při dotazu na cestu k souboru můžete přijmout výchozí možnost (
~/.ssh/id_ed25519_sk) nebo zvolit vlastní název, napříkladid_ed25519_sk_gitlab.Pokud tlačítko Nitrokey bliká, potvrďte operaci dotykem.
Nakonec se vytvoří následující soubory. Pokud jste při generování klíče zadali vlastní název, mohou se názvy souborů lišit.
~/.ssh/id_ed25519_sk→ přístup k soukromému klíči (bezpečně uložený na Nitrokey)
~/.ssh/id_ed25519_sk.pub→ soubor s veřejným klíčem
Adding Your Public Key¶
Po vygenerování páru klíčů SSH je třeba přidat veřejný klíč ke službě nebo serveru, ke kterému chcete přistupovat.
Display your public key:
cat ~/.ssh/id_ed25519_sk.pubPříklad výstupu (tento klíč nepoužívejte):
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
Zkopírujte výstup a přidejte jej do nastavení klíče SSH svého účtu. Podrobný postup naleznete v části GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> nebo GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account>. Chcete-li povolit vzdálený přístup k serveru SSH, přidejte svůj veřejný klíč do souboru
~/.ssh/authorized_keyssvého uživatelského účtu na serveru SSH.