Oturum açtıktan sonra çalışıp öncesinde başarısız olan bir bağlantı genellikle açılış anındaki denemenin bir gizli değer alamadığı anlamına gelir, sunucunun birini reddettiği değil. Kimlik bilgisi var; onu isteyen bağlam yok. Bu tek ayrım gereksiz bir parola sıfırlamasını önler.

İsteği izleyin: bir masaüstü oturumu yokken bir şey bağlantıyı başlatıyor ve normalde yanıt veren gizli değer deposu henüz açılmamış. İki bağlam gizli değerin kime ait olduğu konusunda anlaşmıyor ve profil hangisinin sağlaması gerektiğini kaydediyor.

Açılış yolunun gerçekte istediği şey

Açılışta NetworkManager, kullanıcı oturumu, oturum D-Bus'u ve açılmış bir anahtarlık olmadan sistem hizmeti olarak başlar. Bir bağlantı profili yine de kaldırılabilir, ancak yalnızca hizmetin kendi başına erişebildiği gizli değerlerle. Bir gizli ajanın sahip olduğu her şey, bir insan oturum açana ve ajan görünene kadar bekler. Hizmet tam olarak yapılandırmasının söylediğini yapıyor; değişmesi gereken profil.

Hata anahtarlıkta saklanmıyor, bağlantının içine yazılmış.

Bir bağlantıdaki gizli bayrakları okumak

Bağlantıya ne beklediğini sorun, masaüstünün ne hatırladığını değil. Bayrak sütunu soruyu doğrudan yanıtlar ve diskteki profil dosyasında yeniden başlatmalara dayanır.

Profil listesiyle başlayın, ardından hangi bağlantının kendiliğinden kalkmaya ayarlandığını doğrulayın. Sonra bir bağlantıyı dökün ve parola bayraklarını okuyun:

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"

İlk komut hangi profillerin var olduğunu ve birinin otomatik bağlantıya ayarlı olup olmadığını doğrular; denetimsiz bir deneme zaten böyle başlar. İkincisi bayrak değerlerini açığa çıkarır, üçüncüsü ise hizmetin belirli bir gizli değer için hiçbir ajanın yanıt vermediğinden şikayet ettiğini gösterir. Bir gizli değeri ajan sahipliğinde olarak adlandıran bir günlük satırı, tek cümlede tüm tanıdır.

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

Bağlantıyı sistem kapsamına taşımak yanıtı neden değiştirir

Bir kullanıcıya ait bağlantı o kullanıcının ajanı altında etkinleştirilir, bu yüzden masaüstü kalkar kalkmaz kusursuz çalışır. Sistem kapsamına taşımak ajanı yoldan çıkarır, böylece aynı profil tek bir VPN yapılandırma satırı bile değişmeden farklı davranır.

Bu taşıma meşru bir tasarımdır ve bir koşul getirir: gizli değer sistem hizmeti tarafından erişilebilir olmalıdır. Onu profilde saklamak, sistem kapsamlı bir kimlik bilgisiyle sağlamak veya doğru anda etkileşimli bir istemi kabul etmek geçerli yanıtların hepsidir. 1 numaralı bayrağı bırakıp ummak değil.

Kendi parola ifadesine sahip özel bir anahtar ikinci bir katman ekler. Kayıtlı bir hesap parolası bile parola ifadesi isteyen bir anahtarı açmaz, bu yüzden herhangi bir şeyi değiştirmeden önce başarısız olan aşamanın gerçekte hangi gizli değeri istediğini doğrulayın.

Neyi yapmamalı ve onun yerine ne yapmalı

Her kimlik bilgisi dosyasını herkesin okuyabileceği hale getirmek veya istem gerekmesin diye kimlik doğrulamayı kapatmak, başlangıçtaki rahatsızlığı kalıcı bir açıklıkla değişir. İkisi de bağımlılığı çözmek yerine gizler ve bir sonraki imaj güncellemesi aynı hatayı geri getirir.

O aşamada dağıtımınızın denetimsiz etkinleştirme için belgelediği mekanizmayı kullanın, ardından profilin bayraklarının onunla eşleştiğini doğrulayın. Sonucu, zaten bir ajanı olan bir kabuktan değil, temiz bir açılıştan kontrol edin. Bağlantının sahibini, gizli değerin kaynağını ve çalışması gereken aşamayı yazın; böylece sonraki bir otomatik başlatma değişikliği, birinin önce bir masaüstünü açmasına olan bağımlılığı sessizce geri getiremesin. Belgeleme, düzeltilmiş bir hizmet ile gelecek çeyrekte yeniden bozulan hizmet arasındaki farktır.

Oturum açtıktan sonraki elle yeniden denemek yerine kontrollü temiz bir açılıştan test edin. Yeniden deneme, açılış anındaki denemenin başarısız olma nedeniyle başarılı olur ve hızlı bir testin yok ettiği kanıt tam olarak budur.

İlgili makaleler