SSH Authentication with FIDO2¶
Compatible Nitrokeys |
|||||||
|---|---|---|---|---|---|---|---|
✓ active |
✓ active |
⨯ inactive |
⨯ inactive |
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
SSH (Secure Shell) is een netwerkprotocol dat gebruikt wordt om veilig toegang te krijgen tot systemen op afstand zoals servers of code repositories (bijv. GitLab, GitHub) en deze te beheren. Het gebruikt cryptografische sleutelparen voor verificatie, waardoor wachtwoordloze aanmeldingen met een sterke beveiliging mogelijk zijn. Met een Nitrokey wordt de privé SSH-sleutel gegenereerd en direct op het apparaat opgeslagen, dus het verlaat nooit de hardware. Voor elke login moet je de Nitrokey aanraken, waardoor een eenvoudige fysieke bevestiging wordt toegevoegd die beschermt tegen ongeautoriseerde toegang.
Generating SSH Key¶
Insert the Nitrokey into your computer.
Open een terminal en maak je SSH sleutel. Vervang
"your_comment"door een label om het te identificeren (bijv. “Nitrokey GitLab”). Standaard is de sleutel een niet-residente sleutel, wat betekent dat een lokaal sleutelhandvat is opgeslagen in~/.ssh/terwijl de privésleutel veilig op de Nitrokey blijft staan. Gebruik de-O residentoptie als je wilt dat de sleutel overdraagbaar is tussen systemen.ssh-keygen -t ed25519-sk -C "your_comment"of om een residente sleutel te maken
ssh-keygen -t ed25519-sk -O resident -C "your_comment"Notitie
Residente sleutels kunnen later worden opgesomd en geïmporteerd op een ander systeem met:
ssh-keygen -KTijdens het genereren van de sleutel kan u ook worden gevraagd om een wachtwoordzin in te stellen. Deze wachtwoordzin versleutelt het lokale sleutelhandvat dat is opgeslagen in
~/.ssh/(niet de privésleutel op de Nitrokey, die altijd veilig in het apparaat blijft). De wachtwoordzin is anders dan de PIN-code van het FIDO2-apparaat. De PIN beschermt de fysieke sleutel zelf, terwijl de wachtwoordzin uw lokale SSH openbare sleutelbestand beschermt. We raden aan om een wachtwoordzin te gebruiken om alleen niet-residente sleutels te beschermen.Wanneer om een bestandspad wordt gevraagd, accepteer dan de standaardoptie (
~/.ssh/id_ed25519_sk) of kies een aangepaste naam zoalsid_ed25519_sk_gitlab.Als de Nitrokey knippert, bevestig dan de handeling door hem aan te raken.
Uiteindelijk worden de volgende bestanden aangemaakt. De bestandsnamen kunnen verschillen als je een aangepaste naam hebt opgegeven bij het genereren van de sleutel.
~/.ssh/id_ed25519_sk → handvat voor de privésleutel (veilig opgeslagen op de Nitrokey)
~/.ssh/id_ed25519_sk.pub → openbaar sleutelbestand
Adding Your Public Key¶
Zodra je SSH sleutelpaar is gegenereerd, moet de publieke sleutel worden toegevoegd aan de service of server die je wilt benaderen.
Display your public key:
cat ~/.ssh/id_ed25519_sk.pubVoorbeelduitvoer (gebruik deze toets niet):
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
Kopieer de uitvoer en voeg het toe aan de SSH sleutelinstellingen van je account. Zie GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> of GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account> voor gedetailleerde stappen. Om SSH remote server toegang in te schakelen, voeg je je publieke sleutel toe aan het bestand
~/.ssh/authorized_keysvan je gebruikersaccount op de SSH server.