SSH Authentication with FIDO2¶
Compatible Nitrokeys |
|||||||
|---|---|---|---|---|---|---|---|
✓ active |
✓ active |
⨯ inactive |
⨯ inactive |
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
Το SSH (Secure Shell) είναι ένα πρωτόκολλο δικτύου που χρησιμοποιείται για την ασφαλή πρόσβαση και διαχείριση απομακρυσμένων συστημάτων, όπως διακομιστές ή αποθετήρια κώδικα (π.χ. GitLab, GitHub). Χρησιμοποιεί κρυπτογραφικά ζεύγη κλειδιών για τον έλεγχο ταυτότητας, επιτρέποντας συνδέσεις χωρίς κωδικό πρόσβασης με ισχυρή ασφάλεια. Με ένα Nitrokey, το ιδιωτικό κλειδί SSH δημιουργείται και αποθηκεύεται απευθείας στη συσκευή, οπότε δεν φεύγει ποτέ από το υλικό. Κάθε σύνδεση απαιτεί να αγγίξετε το Nitrokey, προσθέτοντας μια απλή φυσική επιβεβαίωση που προστατεύει από μη εξουσιοδοτημένη πρόσβαση.
Generating SSH Key¶
Insert the Nitrokey into your computer.
Ανοίξτε ένα τερματικό και δημιουργήστε το κλειδί SSH. Αντικαταστήστε το
"your_comment"με μια ετικέτα για την αναγνώρισή του (π.χ. «Nitrokey GitLab»). Από προεπιλογή, το κλειδί είναι ένα μη μόνιμο κλειδί, που σημαίνει ότι μια τοπική λαβή κλειδιού αποθηκεύεται στο~/.ssh/ενώ το ιδιωτικό κλειδί παραμένει με ασφάλεια στο Nitrokey. Χρησιμοποιήστε την επιλογή-O residentαν θέλετε το κλειδί να είναι φορητό σε όλα τα συστήματα.ssh-keygen -t ed25519-sk -C "your_comment"ή για να δημιουργήσετε ένα κλειδί κατοίκου
ssh-keygen -t ed25519-sk -O resident -C "your_comment"Σημείωση
Τα μόνιμα κλειδιά μπορούν αργότερα να καταχωρηθούν και να εισαχθούν σε άλλο σύστημα με:
ssh-keygen -KΚατά τη διάρκεια της δημιουργίας κλειδιού, μπορεί επίσης να σας ζητηθεί να ορίσετε μια συνθηματική φράση **** . Αυτή η συνθηματική φράση κρυπτογραφεί το τοπικό κλειδί που είναι αποθηκευμένο στο
~/.ssh/(όχι το ιδιωτικό κλειδί στο Nitrokey, το οποίο παραμένει πάντα με ασφάλεια μέσα στη συσκευή). Η συνθηματική φράση είναι διαφορετική από το PIN της συσκευής FIDO2. Το PIN προστατεύει το ίδιο το φυσικό κλειδί, ενώ η συνθηματική φράση προστατεύει το τοπικό αρχείο δημόσιου κλειδιού SSH. Συνιστούμε να χρησιμοποιείτε μια συνθηματική φράση μόνο για την προστασία μη μόνιμων κλειδιών.Όταν σας ζητείται η διαδρομή του αρχείου, αποδεχτείτε την προεπιλεγμένη επιλογή (
~/.ssh/id_ed25519_sk) ή επιλέξτε ένα προσαρμοσμένο όνομα όπωςid_ed25519_sk_gitlab.Εάν το Nitrokey αναβοσβήνει, επιβεβαιώστε τη λειτουργία αγγίζοντάς το.
Τελικά θα δημιουργηθούν τα ακόλουθα αρχεία. Τα ονόματα των αρχείων ενδέχεται να διαφέρουν, εάν έχετε καθορίσει ένα προσαρμοσμένο όνομα κατά τη δημιουργία του κλειδιού.
~/.ssh/id_ed25519_sk→ λαβή για το ιδιωτικό κλειδί (αποθηκεύεται με ασφάλεια στο Nitrokey)
~/.ssh/id_ed25519_sk.pub→ αρχείο δημόσιου κλειδιού
Adding Your Public Key¶
Μόλις δημιουργηθεί το ζεύγος κλειδιών SSH, το δημόσιο κλειδί πρέπει να προστεθεί στην υπηρεσία ή το διακομιστή στον οποίο θέλετε να αποκτήσετε πρόσβαση.
Display your public key:
cat ~/.ssh/id_ed25519_sk.pubΠαράδειγμα εξόδου (μην χρησιμοποιείτε αυτό το πλήκτρο):
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG7wZW4zc2guY29tAAAAILeZl6r07HV4i1rK07OfLqD3J4IzX2q0lB6Ok0pdxoG5AAAABHNzaDo= your_comment
Αντιγράψτε το αποτέλεσμα και προσθέστε το στις ρυθμίσεις κλειδιού SSH του λογαριασμού σας. Ανατρέξτε στο GitLab <https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account> ή στο GitHub <https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account> για λεπτομερή βήματα. Για να ενεργοποιήσετε την απομακρυσμένη πρόσβαση στον διακομιστή SSH, προσθέστε το δημόσιο κλειδί σας στο αρχείο
~/.ssh/authorized_keysτου λογαριασμού χρήστη σας στον διακομιστή SSH.