Ο κύριος τρόπος σύνδεσης σε διακομιστή Linux είναι μέσω Πρωτόκολλο SSH. Αυτός ο τύπος σύνδεσης είναι ασφαλής, επειδή όλα τα δεδομένα που μεταφέρονται μέσω αυτής είναι κρυπτογραφημένα. Κατά σειρά προς την δημιουργήστε σύνδεση SSH θα πρέπει να το ρυθμίσετε στον απομακρυσμένο διακομιστή στον οποίο θέλετε να συνδεθείτε και στον πελάτη από την πλευρά του χρήστη. Υπάρχει ένας τόνος λογισμικού για σύνδεση SSH. Όσο για το Linux, το πακέτο OpenSSH είναι το πιο δημοφιλές και για τα Windows οι χρήστες χρησιμοποιούν κυρίως PuTTY.
Ας ρίξουμε μια πιο προσεκτική ματιά στη διαμόρφωση του διακομιστή χρησιμοποιώντας το Ubuntu Server 18.04 ως παράδειγμα και, στη συνέχεια, προσπαθήστε να συνδεθείτε στον διακομιστή από Linux και Windows.
Ό,τι κάνουμε θα προέρχεται από τον λογαριασμό ενός απλού χρήστη. Σε αυτήν την περίπτωση, δημιουργήσαμε έναν χρήστη "Μιχαήλ", και "ρίζα” ο λογαριασμός είναι απενεργοποιημένος από προεπιλογή.
Ρύθμιση από την πλευρά του διακομιστή
Ρυθμίστε το πακέτο εκτελώντας αυτήν την εντολή:
sudo apt install openssh-server
Αφού ολοκληρωθεί η εγκατάσταση, βεβαιωθείτε ότι η υπηρεσία εκτελείται. Χρησιμοποιήστε αυτήν την εντολή:
systemctl status sshd
Κατάσταση "Ενεργός (τρέχει)” σημαίνει ότι η υπηρεσία είναι ενεργοποιημένη και λειτουργεί κανονικά.
Για να αποφύγετε τον αποκλεισμό των εισερχόμενων συνδέσεων από το τείχος προστασίας, βεβαιωθείτε ότι το έχετε απενεργοποιήσει, γιατί δεν πρόκειται να διαμορφώσουμε το τείχος προστασίας δικτύου σε αυτό το άρθρο.
Χρησιμοποιήστε αυτήν την εντολή:
sudo ufw disable
Σε αυτό το στάδιο μπορείτε ήδη να συνδεθείτε στον διακομιστή. Με τις προεπιλεγμένες ρυθμίσεις ο διακομιστής επιτρέπει τη σύνδεση στην τυπική θύρα 22 με έλεγχο ταυτότητας βάσει κωδικού πρόσβασης.
Σύνδεση SSH από Linux
Κατά κανόνα, το πρόγραμμα-πελάτης OpenSSH είναι εγκατεστημένο στο Linux από προεπιλογή και δεν απαιτεί πρόσθετη μη αυτόματη ρύθμιση παραμέτρων. Η σύνδεση μπορεί να πραγματοποιηθεί από το τερματικό με τη βοήθεια της εντολής ssh. Οι παράμετροι σε αυτήν την περίπτωση θα είναι το όνομα χρήστη και η διεύθυνση IP του απομακρυσμένου διακομιστή. Στον δοκιμαστικό διακομιστή μας που χρησιμοποιούμε ως παράδειγμα, υπάρχει μόνο ένας λογαριασμός "mihail", οπότε θα τον χρησιμοποιήσουμε.
ssh [email protected]
Στην πρώτη σύνδεση θα πρέπει να επιβεβαιώσετε την προσθήκη του δημόσιου κλειδιού του διακομιστή στη βάση δεδομένων, οπότε απαντήστε "ΝαίΜετά από αυτό μπορείτε να εισαγάγετε τον κωδικό πρόσβασης. Εάν η σύνδεση πραγματοποιηθεί με επιτυχία, θα δείτε ένα κείμενο καλωσορίσματος στη γραμμή εντολών του διακομιστή. Τώρα όλες οι εντολές θα εκτελεστούν απευθείας στον απομακρυσμένο διακομιστή.
SSH από τα Windows
Ανοίξτε το Putty και ορίστε τις παραμέτρους σύνδεσης. Βεβαιωθείτε ότι ο διακόπτης "Τύπος σύνδεσης” στρέφεται στο SSH. Εισαγάγετε τη διεύθυνση IP στο "Όνομα κεντρικού υπολογιστήπεδίο, προεπιλεγμένη τιμή 22 σε "Λιμάνι"Και κάντε κλικ στο"Ανοικτό".
Στην πρώτη σύνδεση στόκος θα σας ζητήσει να επιβεβαιώσετε ότι εμπιστεύεστε αυτόν τον διακομιστή, επομένως κάντε κλικ στο "Ναι"
Αφού εισαγάγετε τη σύνδεση και τον κωδικό πρόσβασης, θα δείτε τη γραμμή εντολών του απομακρυσμένου διακομιστή.
Έλεγχος ταυτότητας με κλειδί. Αύξηση του επιπέδου ασφάλειας
Όταν ένας πελάτης προσπαθεί να δημιουργήσει ασφαλή σύνδεση με τον διακομιστή μέσω SSH, πριν επιτρέψει τη σύνδεση, ο διακομιστής απαιτεί τον έλεγχο ταυτότητας (επαλήθευση) του προγράμματος-πελάτη. Όπως αναφέρθηκε προηγουμένως, ο έλεγχος ταυτότητας βάσει κωδικού πρόσβασης χρησιμοποιείται συνήθως από προεπιλογή. Δεν παρέχει ισχυρή ασφάλεια, γιατί υπάρχει πάντα ένας τρόπος να το εξαναγκάσεις. Επιπλέον, ο έλεγχος ταυτότητας με κωδικό πρόσβασης δεν ισχύει για συνδέσεις SSH με τη χρήση σεναρίων.
Για αυτόν τον τύπο εργασιών υπάρχει μια ειδική μέθοδος ελέγχου ταυτότητας με κλειδί. Το θέμα είναι ότι ο πελάτης δημιουργεί ιδιωτικά και δημόσια κλειδιά και στη συνέχεια το δημόσιο κλειδί αποστέλλεται στον διακομιστή. Μετά από αυτό, δεν χρειάζεστε κωδικό πρόσβασης για να συνδεθείτε στον διακομιστή, επειδή ο έλεγχος ταυτότητας πραγματοποιείται με βάση δημόσια και ιδιωτικά κλειδιά πελάτη. Για να παρέχεται καλό επίπεδο ασφάλειας, η πρόσβαση στο ιδιωτικό κλειδί θα πρέπει να είναι περιορισμένη. Λόγω του γεγονότος ότι το ιδιωτικό κλειδί αποθηκεύεται στην πλευρά του πελάτη και δεν μεταφέρεται μέσω του δικτύου, αυτή η μέθοδος πιστεύεται ότι είναι πιο ασφαλής.
Έλεγχος ταυτότητας με κλειδί στο Linux
Ας δημιουργήσουμε δημόσια και ιδιωτικά κλειδιά στον πελάτη με τη βοήθεια του βοηθητικού λογισμικού ssh-keygen. Το εργαλείο θα προτείνει να αλλάξετε τη διαδρομή προς το ιδιωτικό κλειδί και να εισαγάγετε μια φράση πρόσβασης για επιπλέον ασφάλεια. Αφήστε όλες τις παραμέτρους από προεπιλογή πατώντας Enter σε όλα τα αιτήματα.
Ως αποτέλεσμα, στον αρχικό κατάλογο στο φάκελο .ssh θα βρείτε δύο αρχεία που δημιουργούνται: id_rsa id_rsa. παμπ που περιέχουν αντίστοιχα ιδιωτικά και δημόσια κλειδιά.
Μετά από αυτό, θα χρειαστεί να στείλετε το δημόσιο κλειδί στον διακομιστή. Για να το κάνετε αυτό, αντιγράψτε το περιεχόμενο του "id_rsa. παμπ"αρχειο σε "~/.ssh/authorized_keys" αρχείο στον διακομιστή. Ας πάμε τον πιο εύκολο τρόπο με τη βοήθεια του "ssh-copy-id" εργαλείο. Εισαγάγετε τη διεύθυνση σύνδεσης και τη διεύθυνση IP του διακομιστή, όπως στην περίπτωση της συνηθισμένης σύνδεσης. Αφού εισαγάγετε τον κωδικό πρόσβασης, το δημόσιο κλειδί του πελάτη θα αντιγραφεί αυτόματα στον διακομιστή. Εκτελέστε αυτήν την εντολή:
ssh-copy-id [email protected]
Αφού τα κάνετε όλα αυτά, ο διακομιστής δεν θα απαιτεί πλέον την εισαγωγή κωδικού πρόσβασης.
Έλεγχος ταυτότητας με κλειδί στα Windows
Ανοικτό ΠΟΥΤΥΓΟΝΟΣ και κάντε κλικ στο κουμπί "ΔημιουργίαΓια να δημιουργήσετε τα κλειδιά, πρέπει απλώς να μετακινήσετε το ποντίκι σας πάνω από την οθόνη και το εργαλείο θα δημιουργήσει τυχαία τα κλειδιά.
Αφού δημιουργηθούν τα κλειδιά, κάντε κλικ στο "Αποθήκευση ιδιωτικού κλειδιού" και αποθηκεύστε το στο αρχείο με ιδιωτικό κλειδί στον δίσκο σας. Μπορείτε να ορίσετε όποια διαδρομή θέλετε, αλλά λίγο αργότερα θα χρειαστεί να την καθορίσετε στο Putty. Στη συνέχεια, αντιγράψτε το δημόσιο κλειδί από την κορυφή του παραθύρου.
Ας στείλουμε το δημόσιο κλειδί απλώς αντιγράφοντας το στο τερματικό. Ανοιχτό στόκος και συνδεθείτε στον διακομιστή ως συνήθως. Τώρα ας δημιουργήσουμε ".ssh/authorized_keys” και περιορίστε την πρόσβαση των άλλων χρηστών στο αρχείο, ώστε να είναι διαθέσιμο μόνο στον δημιουργό.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Αφού δημιουργήσετε το αρχείο, βάλτε το δημόσιο κλειδί του πελάτη σε αυτό. Στο προηγούμενο στάδιο αντιγράψαμε το δημόσιο κλειδί στο πρόχειρο. Για να καταγράψετε ό,τι υπάρχει στο πρόχειρο στο αρχείο, χρησιμοποιήστε την εντολή cat και ανακατεύθυνση εξόδου.
cat > .ssh/authorized_keys
Αφού εισαγάγετε την εντολή, κάντε δεξί κουμπί του ποντικιού στο παράθυρο του τερματικού και επικολλήστε ό,τι υπάρχει στο πρόχειρο. Για να επιβεβαιώσετε την εισαγωγή, πατήστε "Ctrl + D” συντόμευση και αποσύνδεση από τον διακομιστή.
Τώρα ας καθορίσουμε τη διαδρομή προς το ιδιωτικό κλειδί στο Putty και ας συνδεθούμε ξανά στον διακομιστή.
Από εδώ και στο εξής, για να συνδεθείτε στον διακομιστή θα χρειαστεί μόνο να εισαγάγετε όνομα χρήστη. Εάν προσπαθείτε να συνδεθείτε στον διακομιστή από άλλη συσκευή που δεν διαθέτει το σωστό ιδιωτικό κλειδί, ο διακομιστής θα ζητήσει κωδικό πρόσβασης. Αφού ρυθμιστεί ο έλεγχος ταυτότητας βάσει κλειδιού, μπορείτε να απαγορεύσετε την πρόσβαση με κωδικό πρόσβασης.