Πώς να δημιουργήσετε και να εγκαταστήσετε κλειδιά SSH από το κέλυφος του Linux

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

Τι συμβαίνει με τους κωδικούς πρόσβασης;

Το Secure Shell (SSH) είναι το κρυπτογραφημένο πρωτόκολλο που χρησιμοποιείται για τη σύνδεση σε λογαριασμούς χρηστών σε απομακρυσμένους υπολογιστές Linux ή τύπου Unix. Συνήθως τέτοιοι λογαριασμοί χρηστών προστατεύονται με χρήση κωδικών πρόσβασης. Όταν συνδέεστε σε έναν απομακρυσμένο υπολογιστή, πρέπει να δώσετε το όνομα χρήστη και τον κωδικό πρόσβασης για τον λογαριασμό στον οποίο συνδέεστε.

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

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

Τι κάνει τα κλειδιά SSH ασφαλή;

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

Το ιδιωτικό κλειδί σας εγκαθίσταται στον αρχικό σας φάκελο (συνήθως) και το δημόσιο κλειδί εγκαθίσταται στον απομακρυσμένο υπολογιστή —ή σε υπολογιστές— στους οποίους θα χρειαστεί να έχετε πρόσβαση.

Το ιδιωτικό σας κλειδί πρέπει να φυλάσσεται ασφαλές. Εάν είναι προσβάσιμο σε άλλους, είστε στην ίδια θέση σαν να είχαν ανακαλύψει τον κωδικό πρόσβασής σας. Μια λογική —και ιδιαίτερα συνιστώμενη— προφύλαξη είναι να κρυπτογραφηθεί το ιδιωτικό σας κλειδί στον υπολογιστή σας με ισχυρό φράση πρόσβασης.

  Πώς να βελτιώσετε τη διάρκεια ζωής της μπαταρίας σε φορητούς υπολογιστές Linux

Το δημόσιο κλειδί μπορεί να κοινοποιηθεί ελεύθερα χωρίς κανένα συμβιβασμό για την ασφάλειά σας. Δεν είναι δυνατό να προσδιοριστεί ποιο είναι το ιδιωτικό κλειδί από την εξέταση του δημόσιου κλειδιού. Το ιδιωτικό κλειδί μπορεί να κρυπτογραφήσει μηνύματα που μόνο το ιδιωτικό κλειδί μπορεί να αποκρυπτογραφήσει.

Όταν κάνετε ένα αίτημα σύνδεσης, ο απομακρυσμένος υπολογιστής χρησιμοποιεί το αντίγραφο του δημόσιου κλειδιού σας για να δημιουργήσει ένα κρυπτογραφημένο μήνυμα. Το μήνυμα περιέχει ένα αναγνωριστικό περιόδου σύνδεσης και άλλα μεταδεδομένα. Μόνο ο υπολογιστής που έχει στην κατοχή του το ιδιωτικό κλειδί —ο υπολογιστής σας— μπορεί να αποκρυπτογραφήσει αυτό το μήνυμα.

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

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

Βεβαιωθείτε ότι έχετε πρόσβαση στον απομακρυσμένο υπολογιστή

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

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

Σε αυτό το παράδειγμα, ένα άτομο με λογαριασμό χρήστη που ονομάζεται dave είναι συνδεδεμένο σε έναν υπολογιστή που ονομάζεται wdzwdz . Θα συνδεθούν σε έναν άλλο υπολογιστή που ονομάζεται Sulaco.

Εισάγουν την ακόλουθη εντολή:

ssh [email protected]

Τους ζητούν τον κωδικό πρόσβασής τους, τον εισάγουν και συνδέονται με το Sulaco. Η γραμμή εντολών τους αλλάζει για να το επιβεβαιώσει.

Αυτή είναι όλη η επιβεβαίωση που χρειαζόμαστε. Έτσι ο χρήστης dave μπορεί να αποσυνδεθεί από το Sulaco με την εντολή exit:

exit

Λαμβάνουν το μήνυμα αποσύνδεσης και η γραμμή εντολών τους επιστρέφει [email protected]

  Πώς να αλλάξετε το προεπιλεγμένο κέλυφος στο Linux με το chsh

Δημιουργία ενός ζεύγους κλειδιών SSH

Αυτές οι οδηγίες δοκιμάστηκαν σε διανομές Ubuntu, Fedora και Manjaro του Linux. Σε όλες τις περιπτώσεις η διαδικασία ήταν πανομοιότυπη και δεν χρειαζόταν να εγκατασταθεί νέο λογισμικό σε κανένα από τα δοκιμαστικά μηχανήματα.

Για να δημιουργήσετε τα κλειδιά SSH, πληκτρολογήστε την ακόλουθη εντολή:

ssh-keygen

Η διαδικασία παραγωγής ξεκινά. Θα ερωτηθείτε πού θέλετε να αποθηκεύονται τα κλειδιά SSH σας. Πατήστε το πλήκτρο Enter για να αποδεχτείτε την προεπιλεγμένη θέση. Τα δικαιώματα του φακέλου θα τον εξασφαλίσουν μόνο για χρήση από εσάς.

Θα σας ζητηθεί τώρα μια φράση πρόσβασης. Σας συμβουλεύουμε ανεπιφύλακτα να εισαγάγετε μια φράση πρόσβασης εδώ. Και θυμηθείτε τι είναι! Μπορείτε να πατήσετε Enter για να μην υπάρχει φράση πρόσβασης, αλλά αυτό δεν είναι καλή ιδέα. Μια φράση πρόσβασης που αποτελείται από τρεις ή τέσσερις ασύνδετες λέξεις, σε αρδόνια μαζί θα δημιουργήσει μια πολύ ισχυρή φράση πρόσβασης.

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

Τα κλειδιά SSH δημιουργούνται και αποθηκεύονται για εσάς.

Μπορείτε να αγνοήσετε το “randommart” που εμφανίζεται. Ορισμένοι απομακρυσμένοι υπολογιστές ενδέχεται να σας δείχνουν την τυχαία τέχνη τους κάθε φορά που συνδέεστε. Η ιδέα είναι ότι θα αναγνωρίσετε εάν η τυχαία τέχνη αλλάζει και θα είστε ύποπτοι για τη σύνδεση επειδή σημαίνει ότι τα κλειδιά SSH για αυτόν τον διακομιστή έχουν αλλάξει.

Εγκατάσταση του Δημόσιου Κλειδιού

Πρέπει να εγκαταστήσουμε το δημόσιο κλειδί σας στο Sulaco , τον απομακρυσμένο υπολογιστή, ώστε να γνωρίζει ότι το δημόσιο κλειδί σας ανήκει.

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

ssh-copy-id [email protected]

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

  Πώς να μετατρέψετε προγράμματα Debian σε Redhat στο Linux

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

Όταν ο κωδικός πρόσβασης έχει επαληθευτεί, το ssh-copy-id μεταφέρει το δημόσιο κλειδί σας στον απομακρυσμένο υπολογιστή.

Επιστρέφετε στη γραμμή εντολών του υπολογιστή σας. Δεν είστε συνδεδεμένοι στον απομακρυσμένο υπολογιστή.

Σύνδεση με χρήση πλήκτρων SSH

Ας ακολουθήσουμε την πρόταση και ας προσπαθήσουμε να συνδεθούμε στον απομακρυσμένο υπολογιστή.

ssh [email protected]

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

Εισαγάγετε τη φράση πρόσβασης και κάντε κλικ στο κουμπί Ξεκλείδωμα.

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

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

Μόλις εισαγάγετε τη φράση πρόσβασής σας, είστε συνδεδεμένοι στον απομακρυσμένο υπολογιστή.

Για να επαληθεύσετε τη διαδικασία άλλη μια φορά από άκρη σε άκρη, αποσυνδεθείτε με την εντολή εξόδου και επανασυνδεθείτε στον απομακρυσμένο υπολογιστή από το ίδιο παράθυρο τερματικού.

ssh [email protected]

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

Χωρίς κωδικούς πρόσβασης, αλλά ενισχυμένη ασφάλεια

Οι ειδικοί στον τομέα της κυβερνοασφάλειας μιλούν για ένα πράγμα που ονομάζεται τριβή ασφαλείας. Αυτός είναι ο μικρός πόνος που πρέπει να υπομείνετε για να κερδίσετε πρόσθετη ασφάλεια. Συνήθως απαιτούνται κάποια επιπλέον βήματα ή δύο για να υιοθετήσετε μια πιο ασφαλή μέθοδο εργασίας. Και στους περισσότερους δεν αρέσει. Στην πραγματικότητα προτιμούν τη χαμηλότερη ασφάλεια και την έλλειψη τριβής. Αυτή είναι η ανθρώπινη φύση.

Με τα κλειδιά SSH, έχετε αυξημένη ασφάλεια και μεγαλύτερη άνεση. Αυτό είναι σίγουρα win-win.