Uruchomienie OpenVPN przez SSH uruchamia go na zdalnej maszynie, w kontekście wykonania tej maszyny. To czyni z tego zmianę w zdalnej sieci, a nie tylko zdalne naciśnięcie przycisku. Dwa rozsądne tryby to nadzorowana sesja na pierwszym planie i własna usługa, a mają one inną preparację, inne poświadczenia i inne zachowanie przy awarii.

Dwa tryby, jeden profil

Oba tryby korzystają z tego samego profilu i oba zmieniają trasowanie na hoście. Różni się to, kto jest obecny przy starcie, i to, co dzieje się po zakończeniu sesji.

ModeUseful forWhat it needs
Supervised foreground sessionA connection with a human watching and able to typeA usable terminal, a reviewed profile and recovery access
Managed serviceAn unattended lifecycle that starts without a loginOwned configuration, supported credential delivery and restart policy

Tryb pierwszego planu jest dla nadzorowanego połączenia, przy którym ktoś jest obecny. Tryb usługi jest dla połączenia, które ma wstać bez nikogo zalogowanego. Mieszanie ich, przez zostawienie działającego procesu pierwszego planu i jednoczesne włączenie usługi na tym samym profilu, to najczęstsza samodzielnie wyrządzona awaria tutaj.

Czym naprawdę jest sesja na pierwszym planie

Proces OpenVPN na pierwszym planie ma działać dalej, dopóki tunel jest aktywny. Initialization Sequence Completed oznacza, że inicjalizacja się skończyła, a nie że trzeba czekać na powrót znaku zachęty. Graficzny interfejs pulpitu ukrywa tę długą pracę za oknem, i właśnie dlatego ludzie oczekują, że polecenie SSH zachowa się tak samo. Nie zachowuje się.

Sprawdź dostęp aplikacji osobno. Zajęty terminal i jedna linia logu nie dowodzą ani sukcesu, ani porażki.

Czego potrzebuje usługa bez nadzoru

Usługa startuje z własnym kontem, katalogiem roboczym i ograniczeniami systemu plików, a wszystko to różni się od twojej powłoki. Używaj jawnych ścieżek i odpowiedniego właściciela zamiast polegać na tym, gdzie przypadkiem stałeś. Daj jednostce politykę restartu, której naprawdę chcesz, bo pętla połączeń bez wycofania wypełnia log i irytuje drugą stronę. Następnie sprawdź, że wstaje po restarcie, a nie po twoim następnym logowaniu.

Interaktywne MFA łamie przypadek bez nadzoru z założenia. Jeśli profil wymaga kodu wpisanego przez człowieka, to nie jest usługa bez nadzoru, a zapisany kod jednorazowy nie jest projektem poświadczeń. Zdecyduj o tym świadomie, zamiast odkrywać to przy starcie.

Poświadczenia to cztery różne wejścia

Podręcznik OpenVPN rozdziela wejście konsoli, pliki poświadczeń, hasła klucza prywatnego i interakcję sterowaną zarządzaniem. Para nazwy użytkownika i hasła to jedna rzecz, a hasło zaszyfrowanego klucza to druga. Interfejs zarządzania, który dostarcza poświadczenia na żądanie, jest trzeci. Wybierz mechanizm pasujący do twojego projektu uwierzytelniania zamiast sklejać wszystko w jeden plik, bo to kiedyś zadziałało.

Chroń profile i logi, które niosą tożsamość lub prywatny materiał. Czyta je konto usługi, a także każdy z właściwym członkostwem w grupie.

Jeden właściciel i droga powrotna

Zachowaj swoją ścieżkę administracji SSH przed włączeniem szerokiej trasy tunelu. Konfiguracja pełnego tunelu z martwym punktem końcowym może zostawić maszynę nieosiągalną, a naprawa wymaga wtedy konsoli, której nie przygotowałeś. Zatwierdzona konsola poza pasmem albo świadoma polityka powrotu zarządzania to ubezpieczenie.

Wybierz jednego właściciela konfiguracji do rutynowej eksploatacji. Automatyczna usługa i proces pierwszego planu konkurujące o te same interfejsy, trasy i stan resolvera dają awarie, które wyglądają jak problem dostawcy. Zatrzymaj uruchomienie nadzorowane jego normalną przerwą, a zarządzane przez jego menedżera, zamiast zabijać każdy proces o nazwie openvpn.

Różnica, którą warto zapisać, jest prosta: uruchomienie nadzorowane może zależeć od twojej sesji, a usługa bez nadzoru nie.

Powiązane artykuły