Açılışta başlayan bir VPN hizmeti anahtarlıkınızı neden okuyamaz
Açılış anındaki bir VPN'in ödünç alacağı açılmış bir gizli ajanı yoktur. Sunucunun hiç reddetmediği bir parolayı sıfırlamadan önce bağlantının gizli bayraklarını okuyun.
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 value | Where the secret lives | Behaviour before login |
|---|---|---|
| 0 | Stored in the connection profile | Available to the system service |
| 1 | Owned by a secret agent | Blocks until the agent is unlocked |
| 2 | Never stored | Prompts on every activation |
| 4 | Not required | Never 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.