Przekazywanie X11 umieszcza okno edytora na twoim laptopie, podczas gdy proces nadal działa na zdalnym hoście. Ta luka to cała pułapka: patrzysz na lokalne okno i edytujesz zdalny profil, a błędne założenie o tym, która maszyna jest właścicielem zmiany, może przerwać połączenie SSH, przez które pracujesz. Poniższa lista kontrolna ustala host i profil, zanim cokolwiek zostanie zapisane. Każdy krok ma warunek zatrzymania, więc wczesny błąd jest tani.

Krok 1: nazwij maszynę, do której należy profil

Uruchom polecenia tożsamości w powłoce, którą zamierzasz skonfigurować, i przeczytaj odpowiedź, zamiast zgadywać ją z zachęty. Nazwa hosta w zachęcie to ciąg wypisany przez twoją powłokę; nazwa hosta jądra to ta, której ufa reszta tej listy. Jeśli obie się różnią, jesteś na niewłaściwej maszynie albo zachęta jest ozdobiona przez lokalną powłokę. Zatrzymaj się i połącz ponownie z zamierzonym hostem, zanim przejdziesz dalej.

hostnamectl
hostname -f
ip -brief address

Następne pytanie brzmi, czy ta maszyna w ogóle ma trzymać VPN. Skonfigurowanie klienta laptopa i skonfigurowanie klienta zdalnego hosta dają różne trasy, różny DNS i różne tryby awarii. Zdecyduj, który masz na myśli, zanim dotkniesz profilu, i zapisz decyzję tam, gdzie znajdzie ją następna osoba.

Krok 2: czytaj profil po UUID, nie po etykiecie

NetworkManager identyfikuje połączenie po UUID, podczas gdy nazwa jest etykietą, którą każdy może edytować lub zduplikować. Wypisz oba i dopasuj ten wpis, który naprawdę masz na myśli, zwłaszcza na hoście, na który przez lata zaimportowano kilka profili VPN.

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
nmcli general permissions

Zapisane wpisy i aktywne połączenia odpowiadają na różne pytania: pierwsza lista pokazuje, co istnieje, druga pokazuje, co teraz niesie ruch. Wiersz uprawnień opisuje lokalną politykę twojej sesji i nic nie mówi o tym, czy brama VPN przyjmie konto. Jeśli potrzebnego profilu nie ma na zapisanej liście, zatrzymaj się tutaj, bo edytowanie niewłaściwego wpisu jest gorsze niż brak edycji.

Gdy masz UUID, umieść go w zmiennej i używaj tej zmiennej w każdym późniejszym poleceniu. To usuwa całą klasę błędów kopiowania i wklejania oraz czyni zapis powtarzalnym.

UUID=$(nmcli -g UUID connection show 'Corp VPN')
nmcli connection edit uuid "$UUID"

Krok 3: zdecyduj, czy edytor graficzny to właściwe narzędzie

Edytor, który wymaga monitu polkit lub agenta sekretów, nie dostanie go tylko dlatego, że jego okno pojawia się na twoim laptopie. Te komponenty działają w kontekście zdalnej sesji, a przekazywanie ekranu ich nie przekazuje. Jeśli edytor nie może zapisać z powodu błędu autoryzacji lub sekretu, ekran nie jest problemem.

echo "$DISPLAY"
ssh -X you@vpn-host
xauth list

OpenSSH włącza przekazywanie X11 za pomocą -X i dokumentuje ostrożność, która z tym idzie: zdalny host może dotrzeć do twojego lokalnego ekranu, co jest prawdziwą granicą zaufania. Przekazywanie zaufane za pomocą -Y usuwa część tych kontroli i nigdy nie powinno być odruchowym rozwiązaniem dla aplikacji, która zawodzi przy ustawieniach domyślnych. Jeśli twoja organizacja publikuje metodę zdalnej administracji, użyj jej zamiast wymyślać wariant. W większości przypadków edytor wiersza poleceń to mniejsza powierzchnia i lepsza odpowiedź.

Zatrzymaj się tutaj, jeśli jedyna działająca droga wymaga -Y i nie potrafisz wyjaśnić dlaczego. To decyzja dla właściciela polityki bezpieczeństwa, a nie obejście do trzymania w osobistym skrypcie.

Krok 4: zachowaj ścieżkę odzyskiwania, zanim cokolwiek aktywujesz

Zmiana VPN może usunąć trasę, od której zależy twoja sesja SSH, więc przygotuj drogę powrotną, zanim aktywujesz profil. Dostęp do konsoli, adres zarządzania poza pasmem lub zaplanowane wycofanie wszystkie się liczą; nadzieja, że zmiana zadziała, nie liczy się.

sudo systemctl status NetworkManager
ip route show default
ss -tn state established '( sport = :22 )'

Aktywuj tylko zamierzony profil, a następnie zweryfikuj ze zdalnego hosta: trasę domyślną, ścieżkę powrotną SSH i jeden zasób, który powinien być osiągalny przez tunel. Udana kontrola z twojego laptopa testuje ścieżkę laptopa i nic nie mówi o zdalnym hoście. Jeśli sesja spadnie, użyj ścieżki odzyskiwania zamiast łączyć się ponownie na ślepo. Zapisanie profilu to nie aktywacja, a aktywacja to nie weryfikacja.

Zapisz UUID, zmienione wartości właściwości i polecenia użyte do ich weryfikacji. Następna osoba, która dotknie tego hosta, będzie potrzebować wszystkich trzech, a zapis jest wart więcej niż podsumowanie, że VPN naprawiono. Lista kontrolna, która kończy się bez notatki o wycofaniu, to połowa listy.

Powiązane artykuły