SSH σε έναν διακομιστή Linux
SSH, γνωστό και ως secure shell, είναι ένα πρωτόκολλο που μπορεί να χρησιμοποιηθεί για τη σύνδεση και την επικοινωνία με έναν διακομιστή. Μπορείτε να συνδεθείτε στον διακομιστή Linux σας για μια συνεδρία τερματικού χρησιμοποιώντας αυτό το κρυπτογραφημένο πρωτόκολλο. Εάν χρησιμοποιείτε έναν διακομιστή OpenSSH, υπάρχουν κυρίως δύο διαφορετικοί τρόποι με τους οποίους μπορείτε να προχωρήσετε στη διαδικασία ελέγχου ταυτότητας. Ο πρώτος είναι ο τυπικός έλεγχος ταυτότητας με βάση τον κωδικό πρόσβασης. Εδώ, χρησιμοποιείτε απλώς τα διαπιστευτήρια του ονόματος χρήστη και του κωδικού πρόσβασής σας για να αποκτήσετε πρόσβαση στον λογαριασμό σας. Ο άλλος τρόπος είναι να ρυθμίσετε τον διακομιστή Linux σας για έλεγχο ταυτότητας με βάση το κλειδί SSH.
Σε αυτόν τον οδηγό, θα εστιάσουμε στο πώς μπορείτε να διαμορφώσετε τον διακομιστή Linux σας ώστε να χρησιμοποιεί κλειδιά SSH ως το κύριο μέσο ελέγχου ταυτότητας. Θα συζητήσουμε επίσης γιατί τα κλειδιά SSH προτιμώνται συχνά έναντι του συνηθισμένου μηχανισμού προστασίας με κωδικό πρόσβασης.
Τι είναι τα κλειδιά SSH;
Τα κλειδιά SSH είναι παρόμοια με τα διαπιστευτήρια που θα χρησιμοποιούσατε για να συνδεθείτε στον λογαριασμό σας στον διακομιστή. Αντί να εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας, χρησιμοποιείτε το ζεύγος κλειδιών SSH, το οποίο είναι επίσης ένα διαπιστευτήριο πρόσβασης. Αν και τα κλειδιά είναι κρυπτογραφικά, πρέπει να τα αντιμετωπίζετε ως διαπιστευτήρια ελέγχου ταυτότητας, καθώς αυτός είναι ο σκοπός που εξυπηρετούν.
Ένα τυπικό κλειδί SSH αποτελείται από δύο μέρη: ένα εξουσιοδοτημένο κλειδί και ένα κλειδί ταυτότητας. Το εξουσιοδοτημένο κλειδί είναι το δημόσιο κλειδί που λειτουργεί σε συνδυασμό με το ιδιωτικό σας κλειδί ταυτότητας για να σας δώσει πρόσβαση στον λογαριασμό. Το δημόσιο κλειδί βρίσκεται στον απομακρυσμένο διακομιστή στον οποίο θέλετε να συνδεθείτε με SSH και παραμένει στο αρχείο ~/.ssh/authorized_keys που σχετίζεται με τον λογαριασμό χρήστη σας. Τα κλειδιά ταυτότητας χρησιμεύουν για την επαλήθευση της ταυτότητάς σας ως του σωστού χρήστη, ώστε να διασφαλιστεί ότι μόνο εξουσιοδοτημένο προσωπικό μπορεί να έχει πρόσβαση στον συγκεκριμένο λογαριασμό. Συλλογικά, αυτά τα κλειδιά ονομάζονται κλειδιά χρήστη καθώς επαληθεύουν την ταυτότητα του χρήστη. Μόλις ο διακομιστής είναι σε θέση να επαληθεύσει και τα δύο κλειδιά, ξεκινά μια συνεδρία κελύφους προκειμένου να εκτελεστούν οι εντολές σας.
Έχετε επίσης κλειδιά κεντρικού υπολογιστή και κλειδιά συνεδρίας. Το πρωτόκολλο ελέγχει την ταυτότητα του τοπικού υπολογιστή, συστήματος ή διακομιστή χρησιμοποιώντας το κλειδί κεντρικού υπολογιστή. Τα κλειδιά συνεδρίας βοηθούν στην κρυπτογράφηση της ροής δεδομένων μέσω της σύνδεσης. Αυτό καθιστά τη συνεδρία σας και την αντίστοιχη δραστηριότητα πολύ πιο ασφαλή.
Κλειδιά SSH έναντι προστασίας με κωδικό πρόσβασης
Ο κύριος λόγος για τον οποίο ο έλεγχος ταυτότητας με βάση το κλειδί SSH είναι προτιμότερος από την προστασία με κωδικό πρόσβασης είναι ότι η τελευταία μπορεί να σας αφήσει ευάλωτους σε κυβερνοεπιθέσεις. Οι περισσότεροι άνθρωποι δεν χρησιμοποιούν εξαιρετικά περίπλοκους κωδικούς πρόσβασης, ώστε να μπορούν να τους θυμούνται όταν πρέπει να συνδεθούν. Ως αποτέλεσμα, αυτό δημιουργεί μια ευπάθεια. Πολλοί επιτιθέμενοι χρησιμοποιούν βία για να σπάσουν τον σχετικά απλό κωδικό πρόσβασης και να παραβιάσουν τον λογαριασμό. Αυτό έχει γίνει ιδιαίτερα εύκολο στις μέρες μας λόγω της αυτοματοποίησης και των προηγμένων τεχνολογιών hacking.
Τα κλειδιά SSH, από την άλλη πλευρά, προσφέρουν έναν πολύ πιο ασφαλή τρόπο πρόσβασης στον λογαριασμό σας. Όπως αναφέραμε προηγουμένως, αυτή η μέθοδος χρησιμοποιεί ένα δημόσιο κλειδί και ένα ιδιωτικό κλειδί για τον έλεγχο ταυτότητας ενός πελάτη. Ενώ μπορείτε να μοιραστείτε το δημόσιο κλειδί με οποιονδήποτε, πρέπει να διατηρήσετε το ιδιωτικό κλειδί μυστικό. Όταν συνδυάζονται, το δημόσιο κλειδί αποκρυπτογραφεί το ιδιωτικό για να επαληθεύσει την ταυτότητά σας. Επιπλέον, μπορείτε να ενισχύσετε την προστασία προσθέτοντας μια συνθηματική φράση πάνω από το ζεύγος κλειδιών. Θα μιλήσουμε περισσότερο για τη συνθηματική φράση παρακάτω στον οδηγό. Ωστόσο, ακόμη και χωρίς τη συνθηματική φράση, το ιδιωτικό σας κλειδί SSH διατηρείται εξαιρετικά ασφαλές στον τοπικό σας υπολογιστή. Το δίκτυο δεν μπορεί ποτέ να έχει άμεση πρόσβαση στο κλειδί, το οποίο βρίσκεται σε έναν περιορισμένο κατάλογο και συνοδεύεται από περιορισμένα δικαιώματα.
Δημιουργία κλειδιών SSH
Για να δημιουργήσετε το ζεύγος κλειδιών SSH, πρέπει να περιηγηθείτε στη σουίτα εργαλείων OpenSSH και να εντοπίσετε το ssh-keygen. Αυτό είναι ένα ειδικό βοηθητικό εργαλείο που σας επιτρέπει να δημιουργήσετε ένα ζεύγος κλειδιών SSH μεγέθους περίπου 2048 bit. Ξεκινήστε εκτελώντας αυτήν την εντολή:
|
1 |
ssh-keygen |
Αυτό θα εμφανίσει το ακόλουθο μήνυμα:
|
1 2 |
Δημιουργία δημόσιου/ιδιωτικού rsa κλειδιού ζεύγους. Εισαγάγετε αρχείο στο οποίο να αποθηκευτεί το κλειδί (/home/username/.ssh/id_rsa): |
Το μήνυμα θα δημιουργήσει ένα ιδιωτικό κλειδί με όνομα id_rsa και ένα δημόσιο κλειδί με όνομα id_rsa.pub. Σε αυτό το σημείο, μπορείτε να επιλέξετε πού θέλετε να τοποθετήσετε το κλειδί. Θα συνιστούσαμε να παραμείνετε στην προεπιλεγμένη τοποθεσία πατώντας Enter. Η παραμονή στην προεπιλεγμένη τοποθεσία διασφαλίζει ότι ο διακομιστής θα εντοπίζει και θα επαληθεύει αυτόματα τα κλειδιά κάθε φορά που συνδέεστε χρησιμοποιώντας αυτό το σύστημα. Η προεπιλεγμένη τοποθεσία είναι ο κατάλογος ~/.ssh στον αρχικό κατάλογο. Εάν προτιμάτε να επιλέξετε μια διαφορετική τοποθεσία, πληκτρολογήστε την.
Επανεγγραφή παλαιότερων κλειδιών SSH
Είναι σημαντικό να σημειωθεί ότι μπορείτε να έχετε μόνο ένα ζεύγος κλειδιών SSH στο σύστημά σας κάθε φορά. Αυτό σημαίνει ότι εάν έχετε δημιουργήσει και αποθηκεύσει προηγουμένως ένα ζεύγος κλειδιών στο σύστημα, θα δείτε το ακόλουθο μήνυμα:
|
1 2 |
/home/username/.ssh/id_rsa ήδη υπάρχει. Αντικατάσταση (y/n)? |
Για να συνεχίσετε τη δημιουργία και την αποθήκευση του νέου σας ζεύγους κλειδιών SSH, πρέπει να διαγράψετε το υπάρχον. Θυμηθείτε: εάν αντικαταστήσετε το κλειδί που είναι ήδη αποθηκευμένο στον δίσκο, δεν θα μπορείτε πλέον να το χρησιμοποιήσετε για σκοπούς ελέγχου ταυτότητας. Αυτή είναι μια μη αναστρέψιμη διαδικασία, επομένως βεβαιωθείτε ότι είστε απολύτως σίγουροι ότι θέλετε να αντικαταστήσετε το παλιό ζεύγος κλειδιών.
Ορισμός συνθηματικού
Μόλις ρυθμίσετε τα κλειδιά στον κατάλογο, θα ερωτηθείτε εάν θέλετε να εισαγάγετε ένα συνθηματικό:
|
1 2 3 |
Δημιουργήθηκε κατάλογος '/home/username/.ssh'. Εισαγάγετε συνθηματικό (κενό για κανένα συνθηματικό): Εισαγάγετε ίδιο συνθηματικό ξανά: |
Το συνθηματικό είναι προαιρετικό - μπορείτε να επιλέξετε να το παραλείψετε. Ωστόσο, προσθέτει ένα επιπλέον επίπεδο ασφάλειας για το ιδιωτικό σας κλειδί κρυπτογραφώντας το στον δίσκο. Εάν επιλέξετε να χρησιμοποιήσετε ένα συνθηματικό, θα πρέπει να το εισάγετε σωστά κάθε φορά που προσπαθείτε να συνδεθείτε χρησιμοποιώντας αυτό το ζεύγος κλειδιών SSH:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Η ταυτότητά σας έχει ήδη αποθηκευτεί στο /home/username/.ssh/id_rsa. Το δημόσιο κλειδί σας έχει ήδη αποθηκευτεί στο /home/username/.ssh/id_rsa.pub. Το αποτύπωμα του κλειδιού είναι: a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote_host Η εικόνα 'randomart του κλειδιού είναι: +--[ RSA 2048]----+ | ..o | | E o= . | | o. o | | .. | | ..S | | o o. | | =o.+. | |. =++.. | |o=++. | +-----------------+ |
Τέλος, θα πρέπει τώρα να έχετε τα κλειδιά SSH που μπορείτε να χρησιμοποιήσετε για τον έλεγχο ταυτότητας του πελάτη.
Ενσωμάτωση του κλειδιού SSH στον λογαριασμό του διακομιστή σας
Προτού χρησιμοποιήσετε τα κλειδιά για έλεγχο ταυτότητας, πρέπει να ενσωματώσετε το δημόσιο κλειδί στον απομακρυσμένο διακομιστή Linux. Στη συνέχεια, θα σας δείξουμε πώς να το κάνετε αυτό κατά τη δημιουργία του διακομιστή σας CloudSigma. Αρχικά, πρέπει να βρείτε το δημόσιο κλειδί SSH σας, ώστε να μπορείτε να το αντιγράψετε και να το επικολλήσετε. Εάν έχετε χρησιμοποιήσει την παραπάνω μέθοδο για να δημιουργήσετε το ζεύγος κλειδιών SSH, μπορείτε να βρείτε το δημόσιο πληκτρολογώντας τα εξής:
|
1 |
cat ~/.ssh/id_rsa.pub |
Αυτό θα έχει ως αποτέλεσμα την εμφάνιση του δημόσιου κλειδιού SSH ως εξής:
|
1 |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNqqi1mHLnryb1FdbePrSZQdmXRZxGZbo0gTfglysq6KMNUNY2VhzmYN9JYW39yNtjhVxqfW6ewc+eHiL+IRRM1P5ecDAaL3V0ou6ecSurU+t9DR4114mzNJ5SqNxMgiJzbXdhR+j55GjfXdk0FyzxM3a5qpVcGZEXiAzGzhHytUV51+YGnuLGaZ37nebh3UlYC+KJev4MYIVww0tWmY+9GniRSQlgLLUQZ+FcBUjaqhwqVqsHe4F/woW1IHe7mfm63GXyBavVc+llrEzRbMO111MogZUcoWDI9w7UIm8ZOTnhJsk7jhJzG2GpSXZHmly/a/buFaaFnmfZ4MYPkgJD username@example.com |
Αντιγράψτε αυτήν την τιμή για να τη χρησιμοποιήσετε αργότερα. Κατά τη δημιουργία ενός διακομιστή με το CloudSigma, έχετε την επιλογή να προσθέσετε ένα κλειδί SSH αφού επιλέξετε το μέγεθος του διακομιστή και την εικόνα OS:

Κάντε κλικ στο Add και επικολλήστε αυτό που έχετε αντιγράψει για να ενσωματώσετε το κλειδί SSH στον διακομιστή σας. Ως αποτέλεσμα, κάθε φορά που εκκινείτε τον διακομιστή σας, θα έχει ήδη το εισαγόμενο κλειδί SSH.
Αντιγραφή ενός δημόσιου κλειδιού σε έναν υπάρχοντα διακομιστή
Αν και η παραπάνω μέθοδος λειτουργεί όταν δημιουργείτε έναν νέο διακομιστή, είναι δυνατή η ενσωμάτωση ενός κλειδιού SSH σε έναν υπάρχοντα διακομιστή; Η απάντηση είναι ναι και υπάρχουν πολλοί τρόποι για να το κάνετε αυτό, ανάλογα με τα εργαλεία που έχετε στη διάθεσή σας.
Χρήση του SSH-Copy-ID
Αυτός είναι ο απλούστερος και ευκολότερος τρόπος για να αντιγράψετε ένα δημόσιο κλειδί. Το μόνο που χρειάζεστε είναι το βοηθητικό εργαλείο ssh-copy-id που θα βρείτε στην τυπική σουίτα OpenSSH. Αλλά προτού θέσετε αυτή τη μέθοδο σε εφαρμογή, βεβαιωθείτε ότι ο έλεγχος ταυτότητας με βάση τον κωδικό πρόσβασης είναι ενεργοποιημένος στον διακομιστή σας. Για να αντιγράψετε το κλειδί, θα εφαρμόσετε τη σύνταξη ssh-copy-id και στη συνέχεια θα εισαγάγετε τον απομακρυσμένο κεντρικό υπολογιστή με τον οποίο θέλετε να συνδεθείτε. Θα πρέπει επίσης να καθορίσετε τον λογαριασμό στον οποίο συνδέεστε. Πρέπει να έχετε πρόσβαση με βάση τον κωδικό πρόσβασης στον λογαριασμό, έτσι ώστε το κλειδί σας να αντιγραφεί στη σωστή τοποθεσία. Η εντολή θα πρέπει να μοιάζει κάπως έτσι:
|
1 |
ssh-copy-id username@remote_host |
Αυτό μπορεί να έχει ως αποτέλεσμα να εμφανιστεί στην οθόνη σας ένα μήνυμα όπως το ακόλουθο:
|
1 2 3 |
Η αυθεντικότητα του host '111.111.11.111 (111.111.11.111)' δεν'μπορεί να επιβεβαιωθεί. ECDSA κλειδιού αποτύπωμα είναι fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Είστε σίγουροι ότι θέλετε να συνεχίσετε τη σύνδεση (yes/no)? yes |
Αυτό συμβαίνει συνήθως εάν είναι η πρώτη φορά που συνδέεστε σε αυτόν τον συγκεκριμένο απομακρυσμένο κεντρικό υπολογιστή. Σημαίνει απλώς ότι ο υπολογιστής απέτυχε να αναγνωρίσει τον κεντρικό υπολογιστή. Το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε «yes» και να πατήσετε Enter. Μόλις το κάνετε αυτό, το εργαλείο θα σαρώσει τον λογαριασμό για να βρει το δημόσιο κλειδί σας. Μόλις το εντοπίσει, θα σας ζητήσει να εισαγάγετε τον κωδικό πρόσβασης του λογαριασμού σας:
|
1 2 3 |
/usr/bin/ssh-copy-id: INFO: προσπάθεια να συνδεθείτε μέσα με το νέο κλειδί(s), για φιλτράρισμα έξω τυχόν που είναι ήδη εγκατεστημένα /usr/bin/ssh-copy-id: INFO: 1 κλειδί(s) απομένουν να είναι εγκατεστημένα -- εάν σας ζητηθεί τώρα αυτό είναιγια να εγκαταστήσετε τα νέα κλειδιά username@111.111.11.111's κωδικός πρόσβασης: |
Στη συνέχεια, μπορείτε να εισαγάγετε τον κωδικό πρόσβασής σας. Όταν συνδεθείτε στον λογαριασμό σας, το εργαλείο θα αντιγράψει το περιεχόμενο του κλειδιού ~/.ssh/id_rsa.pub και θα το επικολλήσει στο authorized_keys στον κατάλογο ~/.ssh στον απομακρυσμένο λογαριασμό σας. Στη συνέχεια, θα δείτε το ακόλουθο μήνυμα:
|
1 2 3 |
Αριθμός των κλειδιών(s) προστέθηκαν: 1 Τώρα δοκιμάστε να συνδεθείτε στο μηχάνημαμηχάνημα, με: "ssh 'username@111.111.11.111'" και ελέγξτε για να βεβαιωθείτε ότι μόνο τα κλειδιά(s) που θέλατε προστέθηκανπροστέθηκαν. |
Αυτό σημαίνει ότι αντιγράψατε με επιτυχία το δημόσιο κλειδί σας στον υπάρχοντα απομακρυσμένο διακομιστή σας.
Χρήση SSH
Αυτή είναι μια μάλλον συμβατική μέθοδος για να αντιγράψετε το δημόσιο κλειδί σας σε έναν διακομιστή. Είναι προτιμότερο να τη χρησιμοποιήσετε εάν δεν έχετε πρόσβαση στο εργαλείο ssh-copy-id. Και πάλι, πρέπει να έχετε πρόσβαση με βάση τον κωδικό πρόσβασης στον λογαριασμό σας. Αυτό που ουσιαστικά κάνετε είναι να εμφανίζετε το περιεχόμενο του δημόσιου κλειδιού ως έξοδο στον υπολογιστή σας και να το μεταφέρετε στον απομακρυσμένο διακομιστή μέσω της σύνδεσης SSH που έχει δημιουργηθεί μεταξύ τους. Η εντολή που θα χρησιμοποιήσετε για αυτόν τον σκοπό θα πρέπει να είναι η εξής:
|
1 |
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" |
Όπως μπορείτε να δείτε, έχουμε καθορίσει ότι το κλειδί πρέπει να τοποθετηθεί στο αρχείο authorized_keys μέσα στον κατάλογο ~/.ssh στον διακομιστή. Η χρήση του συμβόλου >> διασφαλίζει επίσης ότι προσθέτουμε κλειδιά αντί να τα αντικαθιστούμε. Μετά την εκτέλεση της εντολής, ενδέχεται να δείτε αυτό το μήνυμα:
|
1 2 3 |
Η γνησιότητα του κεντρικού υπολογιστή '111.111.11.111 (111.111.11.111)' μπορεί'δεν να εξακριβωθεί. ECDSA κλειδί αποτύπωμα είναι fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Είστε εσείς βέβαιοι ότι θέλετε να συνεχίσετε τη σύνδεση (yes/no)? yes |
Παρόμοια με το προηγούμενο μήνυμα, αυτό σημαίνει ότι ο υπολογιστής δεν αναγνώρισε τον απομακρυσμένο κεντρικό υπολογιστή. Πληκτρολογήστε ‘yes’ και πατήστε Enter για να συνεχίσετε. Τώρα, θα εισαγάγετε τον κωδικό πρόσβασης του λογαριασμού:
|
1 |
username@111.111.11.111'του κωδικός πρόσβασης: |
Μόλις επαληθευτεί ο κωδικός πρόσβασης, το κλειδί θα αντιγραφεί σε ένα αρχείο στον λογαριασμό χρήστη σας, όπως έχει καθοριστεί.
Χειροκίνητα
Σε περίπτωση που δεν έχετε πρόσβαση με βάση τον κωδικό πρόσβασης στον λογαριασμό σας στον απομακρυσμένο διακομιστή, μπορείτε να αντιγράψετε το δημόσιο κλειδί χειροκίνητα. Ο στόχος είναι να μεταφέρετε την τιμή του αρχείου id_rsa.pub στο αρχείο ~/.ssh/authorized_keys στην απομακρυσμένη συσκευή σας. Όπως ήδη γνωρίζουμε, μπορούμε να δούμε την τιμή του κλειδιού id_rsa.pub χρησιμοποιώντας αυτήν την εντολή:
|
1 |
cat ~/.ssh/id_rsa.pub |
Το περιεχόμενο του δημόσιου κλειδιού SSH σας θα εμφανιστεί κάπως έτσι:
|
1 |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== demo@test |
Στη συνέχεια, πρέπει να αποκτήσετε πρόσβαση στον λογαριασμό σας στον απομακρυσμένο κεντρικό υπολογιστή με οποιοδήποτε διαθέσιμο μέσο. Όταν συνδεθείτε, ελέγξτε για να βεβαιωθείτε ότι ο κατάλογος ~/.ssh υπάρχει. Εάν όχι, μπορείτε να εκτελέσετε την ακόλουθη εντολή για να τον δημιουργήσετε:
|
1 |
mkdir -p ~/.ssh |
Τώρα, μπορείτε να χρησιμοποιήσετε αυτήν την εντολή για να προσθέσετε το περιεχόμενο του αρχείου id_rsa.pub στο αρχείο authorized_keys σε αυτόν τον κατάλογο ~/.ssh στον απομακρυσμένο διακομιστή:
|
1 |
echo public_key_string >> ~/.ssh/authorized_keys |
Αντί να πληκτρολογήσετε ‘public_key_string‘ σε αυτήν την εντολή, θα πρέπει να εισαγάγετε το περιεχόμενο του κλειδιού που εξαγάγατε εκτελώντας προηγουμένως την εντολή cat ~/.ssh/id_rsa.pub.
Έλεγχος ταυτότητας με το κλειδί SSH σας
Τώρα, μπορείτε εύκολα να εισέλθετε στον λογαριασμό σας χρησιμοποιώντας μόνο τα κλειδιά SSH σας. Αυτό σημαίνει ότι δεν χρειάζεστε πλέον τον κωδικό πρόσβασής σας για να αποκτήσετε πρόσβαση στον λογαριασμό του διακομιστή σας. Θα χρησιμοποιήσετε τα διαπιστευτήρια που χρησιμοποιείτε συνήθως για σκοπούς σύνδεσης:
|
1 |
ssh username@remote_host |
Αυτό ενδέχεται να προκαλέσει την εμφάνιση του ακόλουθου μηνύματος:
|
1 2 3 |
Η γνησιότητα του κεντρικού υπολογιστή '111.111.11.111 (111.111.11.111)' δεν'μπορεί να εξακριβωθεί. ECDSA κλειδιού αποτύπωμα είναι fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Είστε βέβαιοι ότι θέλετε να συνεχίσετε τη σύνδεση (yes/no)? yes |
Μην ανησυχείτε αν δείτε αυτό το μήνυμα. Σημαίνει απλώς ότι το τοπικό σύστημα δεν είναι σε θέση να αναγνωρίσει τον απομακρυσμένο κεντρικό υπολογιστή. Αυτό συμβαίνει συνήθως εάν συνδέεστε στον κεντρικό υπολογιστή για πρώτη φορά. Το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε «yes» και να πατήσετε Enter. Επιστρέφοντας σε ορισμένα από τα προηγούμενα βήματα, εάν εφαρμόσατε μια συνθηματική φράση (passphrase), εδώ θα πρέπει να την εισαγάγετε. Εάν δεν το κάνατε, θα συνδεθείτε απευθείας στον λογαριασμό σας μετά την επαλήθευση των κλειδιών SSH. Αυτό θα προκαλέσει το άνοιγμα μιας νέας συνεδρίας κελύφους (shell session) μέσω του τρέχοντος λογαριασμού σας στον τοπικό υπολογιστή.
Πώς να απενεργοποιήσετε τον έλεγχο ταυτότητας με κωδικό πρόσβασης στον διακομιστή σας;
Τώρα που γνωρίζετε πώς να ρυθμίσετε τα κλειδιά SSH, πρέπει να απενεργοποιήσετε τον έλεγχο ταυτότητας με κωδικό πρόσβασης. Ακόμα κι αν μπορείτε να χρησιμοποιήσετε τα κλειδιά SSH για έλεγχο ταυτότητας, εξακολουθείτε να είστε ευάλωτοι σε επιθέσεις brute force εάν η διαδικασία ελέγχου ταυτότητας με κωδικό πρόσβασης είναι ενεργή. Πριν απενεργοποιήσετε τον μηχανισμό ελέγχου ταυτότητας με κωδικό πρόσβασης, βεβαιωθείτε ότι η διαμόρφωση του ελέγχου ταυτότητας βάσει κλειδιού SSH αφορά τον λογαριασμό root στον διακομιστή ή ότι ο διαμορφωμένος λογαριασμός έχει πρόσβαση sudo. Ο λόγος για να το επιβεβαιώσετε αυτό είναι να διασφαλίσετε ότι διατηρείτε πρόσβαση διαχειριστή στον λογαριασμό ακόμα και όταν οι κωδικοί πρόσβασης είναι απενεργοποιημένοι. Τώρα μπορείτε να χρησιμοποιήσετε αυτό το κλειδί SSH για να συνδεθείτε στον λογαριασμό του διακομιστή σας. Το επόμενο βήμα είναι να ανοίξετε το αρχείο ρυθμίσεων του SSH daemon:
|
1 |
sudo nano /etc/ssh/sshd_config |
Εδώ, πρέπει να αναζητήσετε την ακόλουθη οδηγία:
|
1 |
PasswordAuthentication |
Πρέπει να αφαιρέσετε το σχόλιο (uncomment) από αυτή τη γραμμή και να αλλάξετε την τιμή σε «no», ως εξής:
|
1 |
PasswordAuthentication no |
Κάνοντας αυτό θα απενεργοποιηθεί ο έλεγχος ταυτότητας με βάση τον κωδικό πρόσβασης. Απλώς αποθηκεύστε το αρχείο και κλείστε το όταν τελειώσετε. Τέλος, πρέπει να επανεκκινήσετε τη συσκευή σας για να εφαρμόσετε τις αλλαγές. Εάν είστε χρήστης συσκευής Ubuntu ή Debian, μπορείτε επίσης να χρησιμοποιήσετε την ακόλουθη εντολή για να απενεργοποιήσετε την είσοδο με βάση τον κωδικό πρόσβασης:
|
1 |
sudo service ssh restart |
Για να βεβαιωθείτε ότι ο daemon σας, ή sshd, επιτρέπει μόνο έλεγχο ταυτότητας βάσει SSH στον διακομιστή σε μηχανήματα CentOS ή Fedora, χρησιμοποιήστε την εντολή:
|
1 |
sudo service sshd restart |
Συμπέρασμα
Μόλις ολοκληρώσετε όλα αυτά τα βήματα, θα πρέπει να έχετε ρυθμίσει και να εκτελείται ο έλεγχος ταυτότητας βάσει κλειδιού SSH στον διακομιστή σας. Τώρα, μπορείτε να είστε ήσυχοι ότι οι διακομιστές σας είναι ασφαλείς και προστατευμένοι!
Καλή συνέχεια!
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.