Πώς να επαληθεύσετε τον έλεγχο SSH με κλειδιά αντί για κωδικούς πρόσβασης

Το SSH είναι ένας πολύ καλός τρόπος για να αποκτήσετε απομακρυσμένη πρόσβαση στον υπολογιστή σας. Όταν ανοίγετε τις θύρες στο δρομολογητή σας (η θύρα 22 είναι ακριβής), μπορείτε όχι μόνο να έχετε πρόσβαση στον SSH διακομιστή σας μέσα από το τοπικό σας δίκτυο, αλλά από οπουδήποτε στον κόσμο.

Το SSH είναι ένας πολύ καλός τρόπος για να αποκτήσετε απομακρυσμένη πρόσβαση στον υπολογιστή σας.  Όταν ανοίγετε τις θύρες στο δρομολογητή σας (η θύρα 22 είναι ακριβής), μπορείτε όχι μόνο να έχετε πρόσβαση στον SSH διακομιστή σας μέσα από το τοπικό σας δίκτυο, αλλά από οπουδήποτε στον κόσμο.
Διαφήμιση

Τρόπος επαλήθευσης μέσω SSH με κλειδιά αντί κωδικού πρόσβασης Το SSH είναι ένας πολύ καλός τρόπος για να αποκτήσετε απομακρυσμένη πρόσβαση στον υπολογιστή σας. Παρόμοια με το FTP, μπορείτε να συνδεθείτε μέσω του SSH FTP Τι είναι το SSH και πώς είναι διαφορετικό από το FTP [Τεχνολογία που εξηγείται] Τι είναι το SSH και πώς είναι διαφορετικό από το FTP [Technology Explained] Διαβάστε περισσότερα για να αποκτήσετε ασφαλή πρόσβαση σε ένα διακομιστή αρχείων με το αγαπημένο σας FTP client Master FTP μεταφέρει αρχεία σε όλες τις περιοχές σας με FileZilla Master FTP μεταφορές αρχείων σε όλες τις περιοχές σας με FileZilla Ένας μεγάλος αριθμός των παλαιών πελατών FTP είχε λόξιγκο όταν ήρθε σε μεγάλες μεταφορές αρχείων. Οι εφαρμογές αντιμετώπισαν τα συνήθη χρονικά όρια που θα περιμένατε όταν ο υπολογιστής κάθεται εκεί για 15 ... Διαβάστε περισσότερα, γρήγορα πρόσβαση σε απομακρυσμένα αρχεία ή ακόμα και την τοποθέτηση ενός δίσκου δικτύου στον υπολογιστή σας. Αλλά υπάρχουν περισσότερα για SSH από την απομακρυσμένη πρόσβαση σε αρχεία. Η σύνδεση με SSH στο Terminal (ή το PuTTY στα Windows) σας δίνει πρόσβαση σε απομακρυσμένο κέλυφος (τελικά, το SSH είναι σύντομο για το Secure SHell). Είναι πώς διαχειρίζομαι τον διακομιστή πολυμέσων από απόσταση.

Όταν ανοίγετε τις θύρες Τι είναι το Port Forwarding και πώς μπορεί να με βοηθήσει; [Το MakeUseOf Εξηγεί] Τι είναι η προώθηση των θυρών και πώς μπορεί να με βοηθήσει; [MakeUseOf Εξηγεί] Φωνάζετε λίγο στο εσωτερικό όταν κάποιος σας λέει ότι υπάρχει ένα πρόβλημα προώθησης θύρας και γι 'αυτό το λαμπερό νέο app σας δεν θα λειτουργήσει; Το Xbox σας δεν θα σας αφήσει να παίξετε παιχνίδια, τα torrent downloads σας αρνούνται ... Διαβάστε περισσότερα για το δρομολογητή σας (η θύρα 22 για να είμαστε ακριβείς), μπορείτε όχι μόνο να έχετε πρόσβαση στον SSH server σας μέσα από το τοπικό σας δίκτυο, αλλά από οπουδήποτε στον κόσμο.

Ωστόσο, δεν θέλετε να χρησιμοποιήσετε έναν αδύναμο κωδικό πρόσβασης για τον έλεγχο ταυτότητας. Αν κάποιος αποκτήσει πρόσβαση στον υπολογιστή σας μέσω του SSH, αποκτά πλήρη πρόσβαση στο κέλυφος. Για να είμαστε σαφείς, αυτό δεν είναι κάτι που θέλουμε. Ευτυχώς, είναι πολύ εύκολο να ρυθμίσετε τον παγκόσμιο διακομιστή SSH με πολύ ασφαλή τρόπο, χρησιμοποιώντας τον έλεγχο ταυτότητας βασισμένο σε κλειδιά και την απενεργοποίηση της ταυτότητας κωδικού πρόσβασης στον διακομιστή σας.

Είναι αυτό για μένα;

Είναι δελεαστικό να μεγαλώνει χαλαρή με προσωπική ασφάλεια. Εάν χρησιμοποιείτε το διακομιστή για ιδιωτικά μέσα, ίσως να νομίζετε ότι οι άνθρωποι απλά δεν ξέρουν για το διακομιστή σας και, ως εκ τούτου, δεν θα προσπαθήσουν να το χάσουν - ασφάλεια μέσω της σκοτεινότητας. Αυτή θα ήταν μια πολύ λανθασμένη υπόθεση. Επειδή η (περισσότερη) κυκλοφορία SSH μεταδίδεται στη θύρα 22, οι επιτιθέμενοι ελέγχουν συστηματικά την ορατότητα της θύρας 22 σε τυχαίες διευθύνσεις IP, ακολουθούμενη από μια επίθεση βίαιης δύναμης. Αυτός είναι ένας από τους τρόπους που γίνονται botnets για χρήση σε επιθέσεις DDOS. Τι είναι το DDoS Attack; [Το MakeUseOf Εξηγεί] Τι είναι μια επίθεση DDoS; [Το MakeUseOf εξηγεί] Ο όρος DDoS σφύζει από παρελθόν όταν ο κυβερνο-ακτιβισμός ανασηκώνει το κεφάλι του μαζικά. Αυτές οι επιθέσεις κάνουν διεθνή πρωτοσέλιδα για πολλούς λόγους. Τα θέματα που ξεκινούν αυτές τις επιθέσεις DDoS είναι συχνά αμφιλεγόμενες ή εξαιρετικά ... Διαβάστε περισσότερα.

Για να κάνεις μια σύντομη ιστορία σύντομη: αν μεταδίδεις τον SSH server σου μέσω του Διαδικτύου (δηλαδή το port 22), τότε ναι, αυτό είναι για σένα.

Η ιδέα των βασισμένων σε κλειδί SSH εισόδων

Οι βασισμένες σε κλειδί SSH συνδέσεις βασίζονται στην ιδέα της κρυπτογραφίας δημόσιου κλειδιού. Θα μας πήγαινε πολύ μακριά για να εξηγήσουμε τις περιπλοκές, αλλά θα προσπαθήσουμε να ζωγραφίσουμε μια απλή εικόνα του τι συμβαίνει πίσω από τις σκηνές.

Στην παρακάτω διαδικασία, ο υπολογιστής-πελάτης σας δημιουργεί δύο κλειδιά: ένα δημόσιο κλειδί και ένα ιδιωτικό κλειδί. Η γενική ιδέα είναι ότι μπορείτε να κρυπτογραφήσετε δεδομένα με το δημόσιο κλειδί, αλλά μόνο να αποκρυπτογραφήσετε το με το ιδιωτικό κλειδί. Θα βάλουμε το δημόσιο κλειδί στο διακομιστή και θα του ζητήσουμε να κρυπτογραφήσει όλες τις εξερχόμενες επικοινωνίες μαζί του. Αυτό εξασφαλίζει ότι μόνο οι πελάτες με το ιδιωτικό κλειδί μπορούν να αποκρυπτογραφήσουν και να διαβάσουν τα δεδομένα.

1. Εγκαταστήστε το OpenSSH

Πρώτον, πρόκειται να δημιουργήσουμε ένα διακομιστή SSH χρησιμοποιώντας το OpenSSH. Αν έχετε ήδη έναν διακομιστή SSH και θέλετε απλώς να μάθετε πώς να ρυθμίσετε τον έλεγχο ταυτότητας βασισμένο σε κλειδιά, μπορείτε να παραλείψετε αυτό το βήμα. Χρησιμοποιήστε τον αγαπημένο σας διαχειριστή πακέτων για να εγκαταστήσετε την εφαρμογή διακομιστή OpenSSH. Ο πιο απλός τρόπος μπορεί να είναι η εκτέλεση της εντολής apt-get από το τερματικό.

sudo apt-get install openssh-server

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

ubuntu-install-openssh

Μπορείτε είτε να χρησιμοποιήσετε την εφαρμογή όπως είναι, είτε να επεξεργαστείτε /etc/ssh/sshd_config για να την ρυθμίσετε. Εκτελέστε την εντολή man sshd_config στο Terminal για περισσότερες πληροφορίες. Ένας άλλος μεγάλος πόρος για να μάθετε περισσότερα για το OpenSSH είναι η σχετική σελίδα βοήθειας του Ubuntu.

2. Δημιουργία κλειδιών

Δημιουργούμε ένα σύνολο κλειδιών. Εκτελέστε τις ακόλουθες εντολές (προσαρμοσμένες από τη σελίδα Βοήθειας του OpenSSH / Πλήκτρα Ubuntu).

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

Η πρώτη εντολή δημιουργεί έναν κρυφό κατάλογο '.ssh' στον αρχικό σας φάκελο, η δεύτερη εντολή αλλάζει τα δικαιώματα πρόσβασης του φακέλου ενώ η τρίτη εντολή παράγει πραγματικά ένα σύνολο κλειδιών RSA. Θα σας ζητηθεί πρώτα μια θέση για να αποθηκεύσετε τα κλειδιά (αφήστε κενό και πατήστε enter για αποθήκευση στην προεπιλεγμένη θέση) και δεύτερη για μια φράση πρόσβασης.

Αυτή η φράση κωδικοποίησης περαιτέρω κρυπτογραφεί το ιδιωτικό κλειδί που είναι αποθηκευμένο στον υπολογιστή σας, παρέχοντάς σας ουσιαστικά περισσότερο χρόνο για να ασφαλίσετε το διακομιστή SSH αν το ιδιωτικό σας κλειδί έχει κλαπεί ποτέ. Βεβαιωθείτε ότι έχετε επιλέξει μια φράση πρόσβασης που μπορείτε να θυμάστε, καθώς θα πρέπει να την εισάγετε όταν προσπαθείτε να χρησιμοποιήσετε το κλειδί σας.

3. Μεταφέρετε το δημόσιο κλειδί

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

ssh-copy-id @

Εάν ο πελάτης σας δεν υποστηρίζει την εντολή ssh-copy-id, μπορείτε αντ 'αυτού να χρησιμοποιήσετε την παρακάτω εντολή. Είναι λίγο πιο περίπλοκο, αλλά ουσιαστικά επιτυγχάνει τα ίδια αποτελέσματα.

cat ~/.ssh/id_rsa.pub | ssh @ "mkdir ~/.ssh; cat>>~/.ssh/authorized_keys"

Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης χρήστη για το διακομιστή SSH. Εάν οι εντολές εκτελούνται χωρίς σφάλματα, το δημόσιο κλειδί σας θα έχει αντιγραφεί στο διακομιστή.

4. Απενεργοποιήστε τον έλεγχο ταυτότητας με κωδικό πρόσβασης

Παρατηρήστε ότι το σύστημά σας εξακολουθεί να μην είναι πιο ασφαλές από ότι μετά το πρώτο βήμα. Παρόλο που τουλάχιστον ένας υπολογιστής-πελάτης έχει ρυθμιστεί ώστε να χρησιμοποιεί έλεγχο ταυτότητας βασισμένο σε κλειδιά, αυτό αφήνει περιθώρια για άλλους πελάτες να συνδεθούν με έναν κωδικό πρόσβασης. Για να ολοκληρώσετε, θα απενεργοποιήσουμε συνολικά τον έλεγχο ταυτότητας με κωδικό πρόσβασης. Μετά από αυτό το βήμα, μόνο υπολογιστές που έχουν περάσει από την παραπάνω διαδικασία μπορούν να συνδεθούν με τον SSH server σας.

Για να απενεργοποιήσετε τον έλεγχο ταυτότητας με κωδικό πρόσβασης, επεξεργαστείτε το αρχείο /etc/ssh/sshd_config στον αγαπημένο σας επεξεργαστή. Ένας από τους ευκολότερους τρόπους επεξεργασίας ενός περιορισμένου αρχείου είναι, πάλι, η χρήση του Terminal. (Είμαι μερικός στο νανο, αλλά μπορείτε να χρησιμοποιήσετε ό, τι είστε πιο άνετα με.)

sudo nano /etc/ssh/sshd_config

Περίπου 40 γραμμές από το κάτω μέρος του αρχείου, θα βρείτε

#PasswordAuthentication yes

Καταργήστε την πινακίδα αριθμού (#) και αλλάξτε τη ρύθμιση σε "όχι", όπως παρακάτω.

PasswordAuthentication no

Το τελικό αρχείο θα πρέπει να φαίνεται ως εξής:

sshd_config

Αποθηκεύστε το αρχείο πατώντας CTRL + X. Επιβεβαιώστε την επεξεργασία και το όνομα αρχείου και τελειώσατε σχεδόν. Απλά επανεκκινήστε τον διακομιστή SSH για να το εκτελέσετε με αυτές τις νέες ρυθμίσεις.

sudo restart ssh

Θα παρατηρήσετε επίσης ότι ο πελάτης σας θα σταματήσει να ζητάει τη φράση πρόσβασης για να αποκρυπτογραφήσει το κλειδί σας εάν ο έλεγχος ταυτότητας με κωδικό πρόσβασης είναι απενεργοποιημένος στο διακομιστή. Τώρα που έχετε έναν ασφαλή διακομιστή SSH, πώς σκοπεύετε να το χρησιμοποιήσετε; Ως ασφαλής διακομιστής αρχείων, απομακρυσμένο κέλυφος ή για προώθηση άλλων υπηρεσιών μέσω SSH; Ενημερώστε μας στα παρακάτω σχόλια!

Πιστοποίηση εικόνας: Shutterstock

In this article