SSH Authentication with FIDO2¶
Compatible Nitrokeys |
|||||||
|---|---|---|---|---|---|---|---|
✓ active |
✓ active |
⨯ inactive |
⨯ inactive |
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
SSH (Secure Shell) est un protocole réseau utilisé pour accéder et gérer en toute sécurité des systèmes distants tels que des serveurs ou des référentiels de code (par exemple GitLab, GitHub). Il utilise des paires de clés cryptographiques pour l’authentification, ce qui permet des connexions sans mot de passe avec une grande sécurité. Avec une Nitrokey, la clé SSH privée est générée et stockée directement sur l’appareil, elle ne quitte donc jamais le matériel. Chaque connexion nécessite de toucher la Nitrokey, ce qui ajoute une simple confirmation physique qui protège contre les accès non autorisés.
Generating SSH Key¶
Insert the Nitrokey into your computer.
Ouvrez un terminal et créez votre clé SSH. Remplacez
"your_comment"par une étiquette pour l’identifier (par exemple, « Nitrokey GitLab »). Par défaut, la clé est une clé non-résidente, ce qui signifie qu’une poignée de clé locale est stockée dans~/.ssh/tandis que la clé privée reste en sécurité sur la Nitrokey. Utilisez l’option-O residentsi vous voulez que la clé soit portable d’un système à l’autre.ssh-keygen -t ed25519-sk -C "your_comment"ou pour créer une clé de résident
ssh-keygen -t ed25519-sk -O resident -C "your_comment"Note
Les clés résidentes peuvent ensuite être répertoriées et importées sur un autre système avec :
ssh-keygen -KLors de la génération de la clé, il peut également vous être demandé de définir une phrase de passe **** . Cette phrase de passe crypte la poignée de clé locale stockée dans
~/.ssh/(pas la clé privée de la Nitrokey, qui reste toujours en sécurité à l’intérieur de l’appareil). La phrase de passe est différente du code PIN de l’appareil FIDO2. Le code PIN protège la clé physique elle-même, tandis que la phrase de passe protège votre fichier de clé publique SSH local. Nous recommandons d’utiliser une phrase de passe pour protéger uniquement les clés non résidentes.Lorsque l’on vous demande un chemin d’accès, acceptez l’option par défaut (
~/.ssh/id_ed25519_sk) ou choisissez un nom personnalisé commeid_ed25519_sk_gitlab.Si la Nitrokey clignote, confirmez l’opération en la touchant.
Les fichiers suivants seront éventuellement créés. Les noms des fichiers peuvent être différents si vous avez spécifié un nom personnalisé lors de la génération de la clé.
~/.ssh/id_ed25519_sk→ poignée de la clé privée (stockée en toute sécurité sur la Nitrokey)
~/.ssh/id_ed25519_sk.pub→ fichier de clés publiques
Adding Your Public Key¶
Une fois la paire de clés SSH générée, la clé publique doit être ajoutée au service ou au serveur auquel vous souhaitez accéder.
Display your public key:
cat ~/.ssh/id_ed25519_sk.pubExemple de sortie (ne pas utiliser cette touche): :
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
Copiez la sortie et ajoutez-la aux paramètres de la clé SSH de votre compte. Voir GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> ou GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account> pour les étapes détaillées. Pour activer l’accès au serveur distant SSH, ajoutez votre clé publique au fichier
~/.ssh/authorized_keysde votre compte utilisateur sur le serveur SSH.