Μια σύνδεση που λειτουργεί μετά τη σύνδεση χρήστη και αποτυγχάνει πριν από αυτή συνήθως σημαίνει ότι η προσπάθεια κατά την εκκίνηση δεν μπόρεσε να αποκτήσει κάποιο μυστικό, όχι ότι ο διακομιστής απέρριψε κάποιο. Το διαπιστευτήριο υπάρχει· το πλαίσιο που το ζητά δεν υπάρχει. Αυτή η μία διάκριση εξοικονομεί μια περιττή επαναφορά κωδικού.

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

Τι ζητά στην πραγματικότητα η διαδρομή εκκίνησης

Κατά την εκκίνηση, το NetworkManager ξεκινά ως υπηρεσία συστήματος χωρίς συνεδρία χρήστη, χωρίς D-Bus συνεδρίας και χωρίς ξεκλείδωτο κλειδοκράτορα. Ένα προφίλ σύνδεσης μπορεί παρ' όλα αυτά να ανυψωθεί, αλλά μόνο με μυστικά στα οποία η υπηρεσία μπορεί να φτάσει μόνη της. Οτιδήποτε ανήκει σε πράκτορα μυστικών περιμένει μέχρι ένας άνθρωπος να συνδεθεί και να εμφανιστεί ο πράκτορας. Η υπηρεσία κάνει ακριβώς ό,τι λέει η διαμόρφωσή της· το προφίλ είναι αυτό που πρέπει να αλλάξει.

Η αποτυχία είναι γραμμένη μέσα στη σύνδεση και όχι κρυμμένη σε έναν κλειδοκράτορα.

Διαβάζοντας τις σημαίες μυστικών σε μια σύνδεση

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

Ξεκινήστε με τη λίστα προφίλ και μετά επιβεβαιώστε ποια σύνδεση είναι ρυθμισμένη να ανυψώνεται μόνη της. Έπειτα εξάγετε μία σύνδεση και διαβάστε τις σημαίες κωδικού:

nmcli -f NAME,UUID,TYPE,AUTOCONNECT connection show
nmcli connection show "Work VPN" | grep -i -E "password|secret|key"
journalctl -b -u NetworkManager --grep "secret"

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

Flag valueWhere the secret livesBehaviour before login
0Stored in the connection profileAvailable to the system service
1Owned by a secret agentBlocks until the agent is unlocked
2Never storedPrompts on every activation
4Not requiredNever requested at all

Γιατί η μετακίνηση της σύνδεσης στο πεδίο του συστήματος αλλάζει την απάντηση

Μια σύνδεση που ανήκει σε χρήστη ενεργοποιείται κάτω από τον πράκτορα αυτού του χρήστη, γι' αυτό λειτουργεί άψογα μόλις ανέβει η επιφάνεια εργασίας. Η μετακίνησή της στο πεδίο του συστήματος αφαιρεί τον πράκτορα από τη διαδρομή, οπότε το ίδιο προφίλ συμπεριφέρεται διαφορετικά χωρίς να αλλάξει ούτε μία γραμμή διαμόρφωσης VPN.

Αυτή η μετακίνηση είναι νόμιμος σχεδιασμός και φέρει μια απαίτηση: το μυστικό πρέπει να είναι προσβάσιμο από την υπηρεσία συστήματος. Η αποθήκευσή του στο προφίλ, η παροχή του μέσω διαπιστευτηρίου πεδίου συστήματος ή η αποδοχή μιας διαδραστικής προτροπής την κατάλληλη στιγμή είναι όλες έγκυρες απαντήσεις. Το να αφήσεις τη σημαία 1 και να ελπίζεις δεν είναι.

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

Τι να μην κάνετε και τι να κάνετε αντ' αυτού

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

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

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

Σχετικά άρθρα