Αυτός ο ιστότοπος μεταφράζεται αυτόματα σε πολλές γλώσσες με λογισμικό που ανέπτυξε ο Kohei Koyanagi. Για μεγαλύτερη ακρίβεια, ανατρέξτε στο πρωτότυπο στα αγγλικά .

Γιατί το Splync Χρησιμοποιεί SSH — Το Αόρατο Κλειδί Πίσω από Ασφαλείς Διακομιστές

Τι Πραγματικά Κάνει το SSH

Ενώ το Splync χρησιμοποιεί HTTPS για να προστατεύει τη διαδρομή μεταξύ του smartphone σας και του διακομιστή μας, χρειαζόμαστε επίσης να προστατεύσουμε τον ίδιο τον διακομιστή για να διασφαλίσουμε την ασφάλεια των δεδομένων των χρηστών. Οι προγραμματιστές εφαρμογών και οι διαχειριστές συστημάτων χρειάζονται ένα τρόπο να εισέλθουν στον διακομιστή για να συντηρήσουν και να αναπτύξουν ενημερώσεις — με ασφάλεια. Εδώ εισέρχεται το SSH (Secure Shell). Είναι ένα πρωτόκολλο που επιτρέπει σε εξουσιοδοτημένους χρήστες να συνδεθούν με ασφάλεια σε απομακρυσμένους υπολογιστές, ακόμα και σε μη αξιόπιστα δίκτυα. Το SSH αντικαθιστά παλαιότερες, μη ασφαλείς μεθόδους όπως το Telnet, που έστελνε ονόματα χρήστη και κωδικούς πρόσβασης σε απλό κείμενο.

Η Ιδέα Πίσω από τα “Κλειδιά”

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

Πώς Μοιάζει Ένα SSH Κλειδί

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

Δημόσιος Κλειδί και Ιδιωτικός Κλειδί

Ένας δημόσιος κλειδί είναι σαν μια κλειδαριά που προσαρτάτε στο σπίτι σας. Ο καθένας μπορεί να τη δει από το δρόμο, όπως η κλειδαριά στην μπροστινή σας πόρτα. Αλλά κοιτάζοντας την κλειδαριά δεν λέει σε κανέναν πώς να την ανοίξει. Με άλλα λόγια, ο καθένας μπορεί να τη δει, αλλά μόνο το σωστό κλειδί μπορεί να την ξεκλειδώσει. Από την άλλη, ο ιδιωτικός κλειδί είναι το κλειδί που ανοίγει την κλειδαριά — και μένει ασφαλής μαζί σας. Αν κάποιος άλλος αποκτήσει τον ιδιωτικό σας κλειδί, μπορεί να εισέλθει στο σπίτι σας σαν να είναι εσείς. Γι' αυτό πρέπει πάντα να παραμένει κρυφός.

Μηχανισμός SSH

Κάθε δημόσιος και ιδιωτικός κλειδί σχηματίζουν ένα μοναδικό ζευγάρι ένας προς έναν. Δημιουργούνται μαζί μέσω μιας μαθηματικής διαδικασίας έτσι ώστε μόνο ο συγκεκριμένος ιδιωτικός κλειδί να ταιριάζει με τον αντίστοιχο δημόσιο κλειδί. Μπορείτε να τους σκεφτείτε σαν μια εξατομικευμένη κλειδαριά και κλειδί — σφυρηλατημένα μαζί, και κανένα άλλο κλειδί στον κόσμο δεν ταιριάζει σε αυτή την κλειδαριά. Ακόμα κι αν δημιουργήσετε άλλο ζευγάρι χρησιμοποιώντας τον ίδιο αλγόριθμο (όπως το RSA ή το Ed25519), οι αριθμοί στο εσωτερικό θα είναι εντελώς διαφορετικοί. Τα μαθηματικά που συνδέουν τα δύο είναι μονόδρομα: μπορείτε εύκολα να παραγάγετε τον δημόσιο κλειδί από τον ιδιωτικό, αλλά είναι πρακτικά αδύνατο να αντιστρέψετε τη διαδικασία και να βρείτε τον ιδιωτικό κλειδί από τον δημόσιο. Γι' αυτό κάθε ζευγάρι SSH κλειδιών είναι μοναδικό και ασφαλές.

Πώς το SSH Αποδεικνύει Ποιος Είστε

Όταν συνδέεστε σε έναν διακομιστή με SSH, ο ιδιωτικός σας κλειδί δεν φεύγει ποτέ από τον υπολογιστή σας. Αντίθετα, ο διακομιστής στέλνει μια τυχαία πρόκληση — σαν ένα παζλ μιας χρήσης — που μόνο ο ιδιωτικός σας κλειδί μπορεί να λύσει. Ο υπολογιστής σας υπογράφει αυτή την πρόκληση μαθηματικά, παράγοντας μια σύντομη απάντηση που ο διακομιστής μπορεί να ελέγξει χρησιμοποιώντας τον δημόσιο κλειδί σας. Αν η απάντηση ταιριάζει, ο διακομιστής ξέρει ότι έχετε τον σωστό ιδιωτικό κλειδί — χωρίς ποτέ να τον δείτε. Αυτή είναι η μαγεία της σύγχρονης κρυπτογραφίας: μπορείτε να αποδείξετε την ταυτότητά σας χωρίς να αποκαλύψετε το μυστικό σας. Η αυθεντικοποίηση SSH λειτουργεί επειδή ο ιδιωτικός σας κλειδί περιέχει όλες τις πληροφορίες για την παραγωγή του δημόσιου κλειδιού, αλλά το αντίστροφο είναι πρακτικά αδύνατο.

Πώς Χρησιμοποιούν οι Προγραμματιστές το SSH στην Πράξη

Κάθε φορά που οι προγραμματιστές αναπτύσσουν κώδικα, ενημερώνουν μια βάση δεδομένων ή επανεκκινούν μια υπηρεσία, συχνά συνδέονται στους απομακρυσμένους διακομιστές τους μέσω SSH. Μετά την αυθεντικοποίηση, αποκτούν μια ασφαλή σύνδεση γραμμής εντολών με τον διακομιστή. Από εκεί, μπορούν να διαχειριστούν αρχεία, να επανεκκινήσουν υπηρεσίες ή να επιθεωρήσουν καταγραφές — όλα κρυπτογραφημένα από άκρη σε άκρη. Στην περίπτωση του Splync, το SSH είναι ο τρόπος που διαχειριζόμαστε με ασφάλεια τον cloud διακομιστή μας. Κάθε διοικητική ενέργεια — ανάπτυξη ενημερώσεων, έλεγχος καταγραφών, δημιουργία αντιγράφων ασφαλείας δεδομένων — γίνεται μέσω SSH συνδέσεων προστατευμένων από κρυπτογραφικά κλειδιά. Κανείς δεν μπορεί να έχει πρόσβαση στον διακομιστή χωρίς τον σωστό ιδιωτικό κλειδί. Ακόμα κι αν κάποιος γνώριζε τη διεύθυνση IP μας, χωρίς αυτό το κλειδί, η πόρτα απλά δεν θα άνοιγε.

Στη Συνέχεια: Κρυπτογράφηση Μέσα στον Διακομιστή

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