Ενεργοποιήστε τον έλεγχο ταυτότητας δύο παραγόντων (2FA) για SSH στο Linux

Δείτε πως μπορείτε να ενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων (2FA) για SSH σε ένα μηχάνημα με linux, χρησιμοποιώντας το Google PAM (Pluggable Authentication Module) και την Microsoft Authenticator ή τον Επαληθευτή Google για κινητά.

linux,ssh,password,authentication,2FA

Το 2FA σάς επιτρέπει να προσθέσετε ένα επιπλέον επίπεδο ασφαλείας όταν πραγματοποιείτε έλεγχο ταυτότητας σε έναν κεντρικό υπολογιστή Linux μέσω SSH. Αφού ενεργοποιήσετε το 2FA, θα πρέπει να εισαγάγετε έναν εφάπαξ ψηφιακό κωδικό πρόσβασης (TOTP) από το σας, εκτός από το όνομα χρήστη και τον κωδικό πρόσβασής σας στο SSH του Linux.
Πάμε να δούμε τα βήματα:

Βήμα 1: Εγκαταστήστε στο σας τηλέφωνο την εφαρμογή Microsoft Authenticator. Είναι διαθέσιμη τόσο στο Google Store όσο και στο App Store. Αν θέλετε, μπορείτε να χρησιμοποιήσετε τον Επαληθευτή Google. Στο παράδειγμα μας θα χρησιμοποιήσουμε το Microsoft Authenticator, αλλά τα βήματα είναι περίπου ίδια και για το Goolge.

Βήμα 2: Ανοίξτε τον Linux υπολογιστή σας, και τρέξτε ένα παράθυρο SSH. Εγκαταστήστε το Google PAM Authenticator χρησιμοποιώντας τον διαχειριστή πακέτων:
Debian/Ubuntu: sudo apt-get install libpam-google-authenticator
RHEL/CentOS/Fedora:yum install google-authenticator

ssh google authenticator 1

Βήμα 3: Εκτελέστε την εντολή στο ssh: google-authenticator
Το εργαλείο θα δημιουργήσει και θα εμφανίσει έναν κωδικό QR στην κονσόλα

ssh google authenticator 2

Βήμα 4: Εκτελέστε την εφαρμογή Microsoft Authenticator στο smartphone σας. Επιλέξτε Add account > Personal account > Scan a QR Code (Προσθήκη λογαριασμού > Προσωπικός λογαριασμός > Σάρωση κωδικού QR). Ή αν έχετε το Επαληθευτή Google πατήστε το + και μετά το Σάρωση κωδικού QR.

Βήμα 5: Σαρώστε τον κωδικό QR με την εφαρμογή. Μια νέα καταχώρηση για το όνομα χρήστη και τον υπολογιστή σας θα εμφανιστεί στην εφαρμογή Authenticator. Θα χρησιμοποιείτε αυτό το στοιχείο για να λαμβάνετε κωδικούς πρόσβασης μίας χρήσης, για να συνδεθείτε στον υπολογιστή σας.

Σημειώστε ότι ένα μυστικό κλειδί και κωδικοί έκτακτης ανάγκης εμφανίζονται στην κονσόλα του linux σας. Θα χρειαστείτε αυτούς τους κωδικούς για να συνδεθείτε με τον κεντρικό υπολογιστή σας εάν χάσετε/σπάσετε το smartphone σας. Φυλάξτε τα σε ασφαλές μέρος!

Βήμα 6: Στη συνέχεια, το google-authenticator στον υπολογιστή linux εμφανίζει μερικές άλλες ερωτήσεις:

  • Do you want authentication tokens to be time-based? (Θέλετε τα διακριτικά ελέγχου ταυτότητας να βασίζονται σε χρόνο;) Y -> Enter  (αυτή την ερώτηση μπορεί να την συναντήσετε και πριν την εμφάνιση του QR κωδικού)
  • Do you want me to update your “/home/sysops/.google_authenticator” file? (Θέλετε να ενημερώσω το αρχείο σας “/home/sysops/.google_authenticator”;) Y -> Enter
  • Do you want to disallow multiple uses of the same authentication token? (Θέλετε να απαγορεύσετε πολλές χρήσεις του ίδιου διακριτικού ελέγχου ταυτότητας;) Y -> Enter
  • By default, tokens are good for 30 seconds… (Από προεπιλογή, τα διακριτικά είναι μια χαρά για 30 δευτερόλεπτα…) Y -> Enter
    Από προεπιλογή, το διακριτικό μιας χρήσης αλλάζει κάθε 30 δευτερόλεπτα. Αυτή είναι η καλύτερη επιλογή για τις περισσότερες περιπτώσεις. Ωστόσο, είναι σημαντικό ο κεντρικός linux και το smartphone σας να συγχρονίζονται χρονικά.
  • Do you want to enable rate-limiting? (Θέλετε να ενεργοποιήσετε τον περιορισμό τιμών;) Y -> Enter
    Μπορείτε να διαμορφώσετε όλες τις ρυθμίσεις ταυτόχρονα: $ google-authenticator -t -f -d -w 3 -e 5 -r 3 -R 30
    -t – ενεργοποιεί τη σύνδεση με χρήση κωδικού μίας χρήσης
    -f – αποθηκεύει τη διαμόρφωση σε ~/.google_authenticator
    -d – αρνείται τη χρήση προηγούμενων κωδικών
    -w 3 – επιτρέπει τη χρήση ενός προηγούμενου και ενός επόμενου διακριτικού (εάν ο χρόνος δεν συγχρονίζεται)
    -e 5 – δημιουργεί 5 κωδικούς έκτακτης ανάγκης
    -r 3 -R 30 – επιτρέπει τη χρήση όχι περισσότερων από 3 συνδέσεων κάθε 30 δευτερόλεπτα

Βήμα 7: Στη συνέχεια, προσθέστε την ακόλουθη οδηγία στο /etc/pam.d/sshd: auth required pam_google_authenticator.so nullok

Η επιλογή nullok επιτρέπει σε έναν χρήστη που δεν έχει ρυθμίσει τον έλεγχο ταυτότητας δύο παραγόντων να συνδεθεί χρησιμοποιώντας ένα όνομα χρήστη και έναν κωδικό πρόσβασης. Μετά τη διαμόρφωση και τη δοκιμή 2FA, συνιστάται να απενεργοποιήσετε την επιλογή απαίτησης χρήσης ελέγχου ταυτότητας δύο παραγόντων.

Βήμα 8: Στη συνέχεια επεξεργαστείτε το /etc/ssh/sshd_config: sudo mcedit /etc/ssh/sshd_config (ή με όποιο άλλο editor έχετε)
Αλλάξτε την ChallengeResponseAuthentication τιμή σε Yes

challengeresponseauthentication

Αποθηκεύστε τις αλλαγές στο sshd_config και επανεκκινήστε το sshd με την εντολή: service ssh restart

Βήμα 9: Στη συνέχεια, προσπαθήστε να συνδεθείτε στον υπολογιστή σας linux μέσω SSH. Θα σας ζητηθεί να εισαγάγετε έναν κωδικό επαλήθευσης πριν εισαγάγετε έναν κωδικό πρόσβασης.

Βήμα 10: Ανοίξτε την εφαρμογή Authenticator στο smartphone σας και βρείτε τον χρήστη του υπολογιστή Linux. Εισαγάγετε στην console τον κωδικό πρόσβασης μίας χρήσης 6 χαρακτήρων που δημιούργησε για εσάς ο Επαληθευτής.

Σημειώστε ότι ο κωδικός πρόσβασης μίας χρήσης ισχύει για περιορισμένο χρονικό διάστημα (30 δευτερόλεπτα από προεπιλογή). Εάν έχετε εισαγάγει τον σωστό κωδικό, θα σας ζητηθεί να εισαγάγετε και τον κωδικό πρόσβασης χρήστη του linux.

Εάν η σύνδεση είναι επιτυχής, εμφανίζεται η ακόλουθη γραμμή στο αρχείο καταγραφής ελέγχου ταυτότητας: cat /var/log/auth.log
Accepted google_authenticator for sysops

Εάν εισαχθεί λανθασμένος κωδικός, το αρχείο καταγραφής εμφανίζει σφάλματα:
Invalid verification code for sysops

Εάν θέλετε να χρησιμοποιήσετε το 2FA μαζί με τον έλεγχο ταυτότητας κλειδιού SSH, προσθέστε τις ακόλουθες οδηγίες στο /etc/ssh/sshd_config:
PasswordAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey,-interactive

iGuRu.gr The Best Technology Site in Greecefgns

κάθε δημοσίευση, άμεσα στο inbox σας

Προστεθείτε στους 2.100 εγγεγραμμένους.
linux,ssh,password,authentication,2FA

Written by Δημήτρης

O Δημήτρης μισεί τις Δευτέρες.....

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).