Η SSH περίοδος λειτουργίας μου δεν εκκινείται
Οι SSH περίοδοι λειτουργίας που δρομολογούνται μέσω VaultPAM βασίζονται στο Connector που φτάνει στο κεντρικό μηχάνημα προορισμού στη θύρα TCP 22 (ή σε μια προσαρμοσμένη SSH θύρα). Όταν μια περίοδος λειτουργίας δεν ανοίγει, μία από πέντε πηγές σφάλματος είναι σχεδόν πάντα υπεύθυνη. Εργαστείτε μέσα τους με τη σειρά που παρατίθεται εδώ — τα προβλήματα Connector και δικτύου είναι πολύ πιο συνηθισμένα από τα προβλήματα διαπιστευτηρίων ή κλειδιών.
Συμπτώματα
- Το κάνουμε κλικ στο Launch Session δείχνει ένα spinner και στη συνέχεια ένα σφάλμα banner.
- Το παράθυρο της περιόδου λειτουργίας ανοίγει για λίγο και κατόπιν κλείνει με ένα μήνυμα όπως:
SSH connection refusedHost unreachableAuthentication failedHost key verification failedPermission denied (publickey)
- Η περίοδος λειτουργίας δεν εμφανίζεται ποτέ στην προβολή Active Sessions.
Αιτίες
1. Ο Connector είναι εκτός σύνδεσης
Ο Connector που δρομολογεί προς το κεντρικό μηχάνημα προορισμού πρέπει να είναι Online. Εάν είναι Offline, Degraded ή Needs recovery, κάθε προσπάθεια περιόδου λειτουργίας μέσω αυτού θα αποτύχει.
Έλεγχος: Ανοίξτε τους Connectors στην πλευρική γραμμή. Βρείτε το Connector που έχει αναθεθεί στο Safe προορισμού. Επιβεβαιώστε ότι η στήλη κατάστασης δείχνει Online.
Επιδιόρθωση: Ακολουθήστε το runbook My connector is offline.
2. Η θύρα 22 είναι αποκλεισμένη μεταξύ του Connector και του κεντρικού μηχανήματος
Το μηχάνημα Connector πρέπει να μπορεί να φτάσει στο κεντρικό μηχάνημα προορισμού στη θύρα SSH (προεπιλογή 22). Ένας κανόνας τείχους προστασίας, ομάδα ασφαλείας ή τοπικό τείχος προστασίας (π.χ. ufw, Windows Firewall) μπορεί να το αποκλείει.
Έλεγχος: Από το μηχάνημα Connector, εκτελέστε:
nc -zv <target-host> 22
ή
ssh -v <username>@<target-host>
Μια απάντηση Connection refused ή timeout επιβεβαιώνει αποκλεισμό δικτύου.
Επιδιόρθωση: Ενημερώστε το τείχος προστασίας ή τη ομάδα ασφαλείας για να επιτρέψετε TCP 22 από τη διεύθυνση IP του Connector προς τον προορισμό. Εάν ο προορισμός χρησιμοποιεί μη στάνταρ SSH θύρα, επαληθεύστε ότι η σωστή θύρα έχει ρυθμιστεί στις ρυθμίσεις Safe: Safes → επιλέξτε Safe → Edit → Connection settings → Port.
3. Λανθασμένο όνομα χρήστη
Το όνομα χρήστη που χρησιμοποιείται για τη σύνδεση SSH πρέπει να υπάρχει στο κεντρικό μηχάνημα προορισμού και πρέπει να ταιριάζει ακριβώς (τα ονόματα χρηστών Linux είναι ευαίσθητα στα κεφαλαία).
Έλεγχος: Στο Safes → επιλέξτε Safe → Edit → Credentials, επιβεβαιώστε ότι το όνομα χρήστη είναι σωστό. Συνήθη λάθη: root vs ubuntu, admin vs administrator, ή ένα υπολειπόμενο προεπιλογή από ένα πρότυπο.
Επιδιόρθωση: Ενημερώστε την εγγραφή διαπιστευτηρίων για να χρησιμοποιήσετε το σωστό όνομα χρήστη.
4. Αναντιστοιχία κλειδιού κεντρικού μηχανήματος
Το VaultPAM καταγράφει το κλειδί SSH κεντρικού μηχανήματος κατά την πρώτη σύνδεση. Εάν το κεντρικό μηχάνημα προορισμού οικοδομήθηκε ξανά, τα κλειδιά του διακομιστή SSH άλλαξαν (π.χ. μετά την επανεγκατάσταση λειτουργικού συστήματος), το VaultPAM θα αρνηθεί να συνδεθεί για να προστατευθεί από επιθέσεις man-in-the-middle.
Συμπτώματα: Το μήνυμα σφάλματος περιέχει Host key verification failed ή REMOTE HOST IDENTIFICATION HAS CHANGED.
Έλεγχος: Ανοίξτε Safes → επιλέξτε Safe → Edit → Connection settings. Εάν ένα αποθηκευμένο αποτύπωμα κλειδιού κεντρικού μηχανήματος είναι ορατό, συγκρίνετέ το με το τρέχον κλειδί κεντρικού μηχανήματος εκτελώντας το στο κεντρικό μηχάνημα προορισμού:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Επιδιόρθωση: Εάν η αλλαγή κλειδιού αναμένεται (νόμιμη οικοδόμηση), κάνε κλικ στο Reset host key στις ρυθμίσεις σύνδεσης Safe. Το VaultPAM θα δεχτεί το νέο κλειδί στην επόμενη προσπάθεια σύνδεσης και θα το αποθηκεύσει για μελλοντική επαλήθευση.
5. Λείπει ή απορρίφθηκε SSH κλειδί
Εάν το Safe είναι ρυθμισμένο για χρήση δημόσιας-ιδιωτικής βασισμένης σε κλειδί αυθεντικοποίησης αντί για ανάληψη κωδικού πρόσβασης, το Connector πρέπει να έχει πρόσβαση σε ένα ιδιωτικό κλειδί που εξουσιοδοτείται στο κεντρικό μηχάνημα προορισμού.
Έλεγχος: Στο Safes → επιλέξτε Safe → Edit → Credentials, επιβεβαιώστε ότι ο τύπος διαπιστευτηρίων έχει ρυθμιστεί σε SSH Key και ένα κλειδί έχει συνδεθεί. Επαληθεύστε ότι το αντίστοιχο δημόσιο κλειδί παρατίθεται στο ~/.ssh/authorized_keys στο κεντρικό μηχάνημα προορισμού για τον ρυθμισμένο χρήστη.
Επιδιόρθωση: Ανεβάστε το σωστό ιδιωτικό κλειδί στην εγγραφή διαπιστευτηρίων ή προσθέστε το δημόσιο κλειδί του Connector στο authorized_keys στο κεντρικό μηχάνημα προορισμού.
Βήματα ανάλυσης
- Ανοίξτε τους Connectors στην πλευρική γραμμή και επιβεβαιώστε ότι ο Connector που έχει αναθεθεί στο Safe προορισμού δείχνει Online. Εάν όχι, ακολουθήστε το My connector is offline πριν συνεχίσετε.
- Από το μηχάνημα Connector, εκτελέστε
nc -zv <target-host> 22για να επιβεβαιώσετε ότι η θύρα TCP 22 είναι προσβάσιμη. Εάν είναι αποκλεισμένη, ενημερώστε τον σχετικό κανόνα τείχους προστασίας ή ομάδας ασφαλείας. - Ανοίξτε Safes → επιλέξτε Safe → Edit → Credentials και επαληθεύστε το όνομα χρήστη. Διορθώστε το εάν δεν ταιριάζει με το λογαριασμό του κεντρικού μηχανήματος προορισμού.
- Εάν το σφάλμα αναφέρει αναντιστοιχία κλειδιού κεντρικού μηχανήματος, ανοίξτε Safes → επιλέξτε Safe → Edit → Connection settings και κάνε κλικ στο Reset host key, στη συνέχεια δοκιμάστε ξανά την περίοδο λειτουργίας.
- Εάν το Safe χρησιμοποιεί SSH κλειδί αυθεντικοποίησης, επιβεβαιώστε ότι ένα ιδιωτικό κλειδί έχει συνδεθεί στην εγγραφή διαπιστευτηρίων και το αντίστοιχο δημόσιο κλειδί βρίσκεται στο
~/.ssh/authorized_keysστο κεντρικό μηχάνημα προορισμού. - Μετά από κάθε αλλαγή, δοκιμάστε ξανά την περίοδο λειτουργίας κάνοντας κλικ στο Launch Session στο Safe.
Διαδρομή κλιμάκωσης
Εάν έχετε αναλύσει και τις πέντε αιτίες και η περίοδος λειτουργίας εξακολουθεί να αποτυγχάνει:
- Σημειώστε το ακριβές μήνυμα σφάλματος που εμφανίζεται στο banner της περιόδου λειτουργίας.
- Στο μηχάνημα Connector, συλλέξτε τις τελευταίες 100 γραμμές του αρχείου καταγραφής Connector:
- Docker:
docker logs -n 100 vaultpam-connector - systemd:
journalctl -u vaultpam-connector -n 100
- Docker:
- Εκτελέστε
nc -zv <target-host> 22από το μηχάνημα Connector και συμπεριλάβετε το αποτέλεσμα. - Ανοίξτε ένα εισιτήριο υποστήριξης με: όνομα Connector, κεντρικό μηχάνημα προορισμού (κρυμμένο εάν είναι ευαίσθητο), ακριβές μήνυμα σφάλματος, έξοδο αρχείου καταγραφής και αποτέλεσμα
nc.