Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Na Pi mam kilka aplikacji działających przez całą dobę. Za każdym razem, gdy wychodziłem z domu, bardzo trudno było sprawdzić stan i stan zdrowia Pi. Następnie pokonałem drobną przeszkodę za pomocą ngrok. Dostęp do urządzenia z zewnątrz rodzi pytania o bezpieczeństwo, z którymi poradziłem sobie, włączając uwierzytelnianie 2FA (uwierzytelnianie dwuetapowe) lub uwierzytelnianie dwuetapowe. Oto poniższe kroki, aby uzyskać dostęp do swojego Pi z zewnątrz z dodatkową warstwą bezpieczeństwa.
Krok 1: Przewodniki wideo
Niektórzy wolą materiały pisemne i przewodniki wideo. Jeśli jesteś jednym z wielu, którzy preferują przewodnik wideo, zapoznaj się z tymi filmami, aby uzyskać instrukcje krok po kroku.
Krok 2: Przygotuj Ngrok
Otwórz terminal na swoim Pi i uruchom kolejno następujące polecenia, aby pobrać i przygotować aplikację ngrok
cd /home/pi/
wget "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip"
sudo rozpakuj ngrok-stable-linux-arm.zip
Teraz powinieneś mieć folder o nazwie ngrok w katalogu /home/pi/.
Opcjonalnie możesz usunąć oryginalny pobrany plik zip, aby zaoszczędzić trochę miejsca
sudo rm /home/pi/ngrok-stable-linux-arm.zip
Teraz pobierz dodatkowe pliki, które pomogą Ci skonfigurować nrok jako usługę
git klon
Krok 3: Krok Ngrok
Wejdź na stronę ngrok i zaloguj się. Jeśli nie masz konta, załóż je.
Na pulpicie nawigacyjnym ngrok i pod zakładką uwierzytelniania powinieneś znaleźć swój token uwierzytelniający, tak jak pokazano poniżej.
Na terminalu na swoim Raspberry Pi uruchom następujące czynności, aby skonfigurować uwierzytelnianie.
/home/pi/ngrok authtoken "TWÓJ UWIERZYTELNIONY SKOPIOWANO Z DASHBOARD ngrok"
Powinieneś otrzymać potwierdzenie, jak pokazano poniżej.
Skopiuj tunele z przykładowego pliku konfiguracyjnego ngrok (ngrok-sample.yml) w folderze /home/pi/ngrok-service/.
Otwórz domyślny plik konfiguracyjny za pomocą:
sudo nano /home/pi/.ngrok2/ngrok.yml
Wklej tunele, które właśnie skopiowałeś z próbki. Możesz usunąć inne tunele, których możesz nie potrzebować, poza SSH.
Teraz sprawdź, czy tunelowanie działa, uruchamiając aplikację nrok za pomocą
/home/pi/ngrok start -all
Krok 4: Skonfiguruj Ngrok jako usługę
Uruchom polecenia jedno po drugim, aby skonfigurować nrok jako usługę
sudo chmod +x /home/pi/ngrok-service/scripts/service-installer.sh
sudo /home/pi/ngrok-service/scripts/service-installer.sh
sudo systemctl włącz ngrok.service
sudo systemctl start ngrok.service
Tymczasowo zatrzymaj usługę ngrok do czasu zakończenia konfiguracji uwierzytelniania dwuskładnikowego.
sudo systemctl zatrzymaj ngrok.service
Krok 5: Skonfiguruj uwierzytelnianie dwuskładnikowe
Włącz SSH, jeśli jeszcze tego nie zrobiono, używając:
sudo systemctl włącz ssh
sudo systemctl włącz ssh
sudo systemctl stop ssh
Włącz wyzwanie dwuskładnikowe. Otwórz konfigurację ssh za pomocą:
sudo nano /etc/ssh/sshd_config
Zmień ChallengeResponseAuthentication z domyślnego no na yes.
Zapisz plik konfiguracyjny i wyjdź.
Krok 6: Skonfiguruj Google Authenticator
Zainstaluj google pluggable Google Authentication Module
sudo apt install libpam-google-authenticator
Uruchom następujące, aby uruchomić moduł uwierzytelniający
google-uwierzytelniający
Pobierz aplikację Google Authenticator na swój telefon komórkowy i połącz moduł PAM, skanując kod QR na ekranie.
Skonfiguruj PAM, aby dodać uwierzytelnianie dwuskładnikowe.
sudo nano /etc/pam.d/sshd
Dodaj następujący wiersz na początek
wymagane uwierzytelnienie pam_google_authenticator.so
Można to dodać poniżej lub powyżej @include common-auth
Krok 7: Zrestartuj Ssh i Ngrok
Uruchom ponownie usługi
sudo systemctl restart ssh
sudo systemctl uruchom ponownie ngrok.service
I to jest okład