Τι δηλώνει η προειδοποίηση
Ένας διακομιστής αποδεικνύει την ταυτότητά του με ένα κλειδί διακομιστή. Όταν αυτό διαφέρει από εκείνο που είχε αποθηκεύσει ο πελάτης σας, το OpenSSH εμφανίζει REMOTE HOST IDENTIFICATION HAS CHANGED και αρνείται τη σύνδεση. Ο πελάτης δεν μπορεί να διακρίνει μια ακίνδυνη αλλαγή από μια επίθεση, οπότε θεωρήστε την προειδοποίηση ανεπίλυτη μέχρι να την ελέγξετε.
Συνηθισμένες αιτίες
Οι συνήθεις αιτίες είναι η επανεγκατάσταση του διακομιστή, μια εικονική μηχανή που επαναφέρθηκε ή κλωνοποιήθηκε από εικόνα, μια διεύθυνση που έχει πλέον εκχωρηθεί σε άλλο μηχάνημα και ένας εξισορροπητής φορτίου που σας στέλνει σε διαφορετικούς κόμβους. Ένας επιτιθέμενος που υποκλέπτει τη σύνδεση προκαλεί την ίδια προειδοποίηση. Αν δεν περιμένατε αλλαγή, σταματήστε και μην εισαγάγετε κωδικό πρόσβασης.
Συγκρίνετε τα αποτυπώματα
Διαβάστε το πραγματικό αποτύπωμα στον διακομιστή μέσω καναλιού που δεν εξαρτάται από αυτή τη σύνδεση SSH, όπως η κονσόλα του παρόχου ή του hypervisor. Η εντολή ssh-keyscan δείχνει μόνο ό,τι σας παρουσιάζει το δίκτυο, επομένως από μόνη της δεν αποδεικνύει τίποτα. Είναι χρήσιμη μόνο για σύγκριση με την τιμή από την κονσόλα.
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -Αντικαταστήστε την παλιά καταχώριση
Μόνο αφού τα αποτυπώματα συμφωνούν, αφαιρέστε την παλιά καταχώριση και συνδεθείτε ξανά. Μια μη τυπική θύρα έχει δική της καταχώριση, γραμμένη με αγκύλες. Το ssh-keygen διατηρεί το προηγούμενο αρχείο ως known_hosts.old. Μην απενεργοποιείτε το StrictHostKeyChecking και μη διαγράφετε ολόκληρο το known_hosts, γιατί έτσι αφαιρείτε την προστασία για όλους τους διακομιστές σας.
ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.exampleΑποφυγή της προειδοποίησης μετά από επανεγκατάσταση
Αν σχεδιάζετε να επανεγκαταστήσετε έναν διακομιστή και θέλετε να διατηρήσετε την ταυτότητά του, δημιουργήστε ασφαλές αντίγραφο των κλειδιών του στο /etc/ssh και επαναφέρετέ τα με τον ίδιο ιδιοκτήτη και τα ίδια δικαιώματα. Στους κλώνους κάντε το αντίθετο: κάθε μηχάνημα που δημιουργείται από την ίδια εικόνα χρειάζεται δικά του κλειδιά διακομιστή, διαφορετικά πολλοί διακομιστές μοιράζονται μία ταυτότητα.
Κλειδιά διακομιστή στο CH-J Server Manager
Η εφαρμογή αποθηκεύει αποτυπώματα SHA-256 των κλειδιών διακομιστή στο κρυπτογραφημένο θησαυροφυλάκιό της, χωριστά από το αρχείο known_hosts του OpenSSH. Σε περίπτωση αλλαγής μπλοκάρει τη σύνδεση και εμφανίζει το γνωστό και το νέο αποτύπωμα. Η καταχώριση αντικαθίσταται μόνο αν επιβεβαιώσετε, ενώ η ακύρωση δεν αλλάζει τίποτα. Στην Alpha 0.1.1 ο έλεγχος καλύπτει επίσης κάθε ενδιάμεσο διακομιστή και μια μεταφορά που εκτελείται σταματά όταν αλλάξει το κλειδί. Η εφαρμογή δεν μπορεί να επαληθεύσει το νέο αποτύπωμα για εσάς, οπότε ο έλεγχος μέσω άλλου καναλιού παραμένει δική σας ευθύνη.