Η αναβάθμιση σε MacOS Sierra θα σπάσει τα κλειδιά SSH και θα σας κλειδώσει από τους δικούς σας διακομιστές.

Μην κάνετε αναβάθμιση σε macOS Sierra εάν διαθέτετε διακομιστή cloud (AWS, Digital Ocean κ.λπ.) Διαβάστε πρώτα αυτήν την ανάρτηση. Θα σας καθοδηγήσει μέσω της ασφαλούς ενημέρωσης στη Sierra και της ενημέρωσης των κλειδιών SSH.

Όπως πολλοί προγραμματιστές, έλαβα μια ειδοποίηση από την Apple που με έκανε να εγκαταστήσω το νέο macOS Sierra. Έκανα κλικ στο «υπενθύμιση αύριο» μερικές μέρες στη σειρά. Τότε τελικά σπήλαια μια νύχτα πριν πάω για ύπνο.

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

Αποδεικνύεται ότι η Apple αποφάσισε να αναγκάσει ήσυχα τα πλήκτρα RSA 2048-bit σε όλους, κάτι που ήταν ήπια ταλαιπωρία για ορισμένους και σύγχυση πανικού για άλλους.

Εάν αναρωτιέστε γιατί τα κλειδιά RSA είναι πιο ασφαλή από τα παλιά κλειδιά DSA, δεν είναι εγγενώς έτσι. Ωστόσο, τα πλήκτρα DSA συνήθως μπορούν να είναι μόνο 1024 bit, ενώ τα πλήκτρα RSA μπορεί να είναι μεγαλύτερα, όπως συμβαίνει με τα προεπιλεγμένα πλήκτρα RSA 2048-bit της Sierra. Αυτά τα επιπλέον bits κάνουν αυτά τα νέα κλειδιά ουσιαστικά πιο δύσκολο να σπάσουν.

Ας ρυθμίσουμε το νέο κλειδί RSA SSH 2048-bit.

Βήμα 1: διαγράψτε το παλιό σας κλειδί και δημιουργήστε ένα νέο

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

Ανοίξτε το τερματικό σας και πληκτρολογήστε:

ssh-keygen -l -f ~/.ssh/id_rsa.pub

Εάν η ερώτηση ανταποκρίνεται με μια συμβολοσειρά που ξεκινά με "2048 SHA256", έχετε τελειώσει και δεν χρειάζεται να προβείτε σε περαιτέρω ενέργειες.

Διαφορετικά, δημιουργήστε ένα νέο κλειδί εκτελώντας:

ssh-keygen -t rsa

Το μήνυμα θα πρέπει να απαντήσει με:

Generating public/private rsa key pair.Enter file in which to save the key (/Users/freecodecamp/.ssh/id_rsa):

Μπορείτε απλώς να πατήσετε enter για να το αποθηκεύσετε στην προεπιλεγμένη θέση. Σημειώστε ότι αυτό θα αντικαταστήσει το παλιό (σπασμένο) κλειδί σας.

Enter passphrase (empty for no passphrase):

Μπορείτε να το αφήσετε κενό ή να προσθέσετε έναν κωδικό πρόσβασης για λίγη επιπλέον ασφάλεια (και πολύ περισσότερη πληκτρολόγηση).

Τότε θα πάρετε με μια δροσερή τυχαία «τέχνη» που μοιάζει πάντα να έχει σχήμα χριστουγεννιάτικου δέντρου:

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

sudo chmod 600 ~/.ssh/id_rsa

Μπορείτε να ελέγξετε τα περιεχόμενα του δημόσιου κλειδιού εκτελώντας:

cat ~/.ssh/id_rsa.pub

Που πρέπει να επιστρέψει κάτι σαν:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDijWK+s3ybgzEdaJ5LneNU11BsIyoNS51SV11Vi5auPJW9+Ji6OUSJ9OguZh4T019ULyFF/Qq66fhH9TvMzw80lTNoChgTRMpjs2+Qg75yTINKSde+Gv4TK6UvNw6EINORcTpb32Im9hgtdTj6WqJ/hCbSltv7IfFZU5ChV7SxTaoNZTa9M5H3N8YdQ/aGt3puh222Cq5DTjV8fRWaNVvjVQRe/huHAHEzEUr1T/eTlXtoFtGeC1z+pLfYllVzizoS7tyuUksfgqox1jJJMpaZ25V/R/p/MDUc936za/8zgB8OQFRBbrP6JvXXN99DLcvs9coz9vfb2GCVrhxi1aJ5 [email protected]

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

pbcopy < ~/.ssh/id_rsa.pub

Βήμα 2: προσθέστε το νέο δημόσιο κλειδί στον διακομιστή σας

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

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

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

Μόλις έχετε πρόσβαση root στον διακομιστή σας - υποθέτοντας ότι είναι διακομιστής Linux - πρέπει απλώς να εκτελέσετε αυτήν την εντολή:

nano ~/.ssh/authorized_keys

Αυτό θα ανοίξει το αρχείο εξουσιοδοτημένου κλειδιού σας χρησιμοποιώντας το μινιμαλιστικό πρόγραμμα επεξεργασίας κειμένου "nano" που περιλαμβάνεται στις περισσότερες διανομές Linux. Ή θα μπορούσατε να χρησιμοποιήσετε το Vim.

Στη συνέχεια, επικολλήστε το δημόσιο κλειδί SSH από νωρίτερα. Πατήστε control + o για να αποθηκεύσετε τις αλλαγές σας και, στη συνέχεια, control + x για να κλείσετε το nano.

Αποσυνδεθείτε από τον διακομιστή σας. Τώρα είστε έτοιμοι να δοκιμάσετε να συνδεθείτε χρησιμοποιώντας το νέο κλειδί SSH.

Βήμα # 3: SSH στο διακομιστή σας

Εκτελέστε αυτήν την εντολή στο SSH, αντικαθιστώντας το [email protected].0 με τη σύνδεση και τη διεύθυνση IP του διακομιστή σας:

ssh -i ~/.ssh/id_rsa [email protected]

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

Συγχαρητήρια! Επιστρέψατε εκεί που ήσασταν χθες, εκτός από τώρα που η Apple θα σταματήσει να σας ενοχλεί για αναβάθμιση του λειτουργικού σας συστήματος ;

Γράφω μόνο για τον προγραμματισμό και την τεχνολογία. Αν με ακολουθήσετε στο Twitter δεν θα σπαταλήσω το χρόνο σας. ;