Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
J'ai quelques applications fonctionnant 24 heures sur 24 sur le Pi. Chaque fois que je sortais de chez moi, il devenait très difficile de vérifier la santé et l'état du Pi. J'ai ensuite surmonté l'obstacle mineur en utilisant ngrok. L'accès à l'appareil depuis l'extérieur soulève des questions de sécurité que j'ai traitées en activant le 2FA (authentification à 2 facteurs) ou l'authentification en 2 étapes. Voici donc les étapes ci-dessous pour vous permettre d'accéder à votre Pi de l'extérieur avec une couche de sécurité supplémentaire.
Étape 1: Guides vidéo
Certains préfèrent le matériel écrit et certains guides vidéo. Si vous êtes l'un des nombreux à préférer un guide vidéo, consultez ces vidéos pour obtenir des instructions étape par étape.
Étape 2: préparer Ngrok
Ouvrez un terminal sur votre Pi et exécutez les commandes suivantes l'une après l'autre pour télécharger et préparer l'application ngrok
cd /accueil/pi/
wget "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip"
sudo unzip ngrok-stable-linux-arm.zip
Vous devriez maintenant avoir un dossier intitulé ngrok dans le répertoire /home/pi/.
En option, vous pouvez supprimer le fichier zip téléchargé d'origine pour économiser de l'espace
sudo rm /home/pi/ngrok-stable-linux-arm.zip
Obtenez maintenant les fichiers supplémentaires pour vous aider à configurer ngrok en tant que service
git clone
Étape 3: Étape Ngrok
Rendez-vous sur le site Web de ngrok et connectez-vous. Si vous n'avez pas de compte, créez-en un.
Sur votre tableau de bord ngrok et sous l'onglet authentification, vous devriez trouver votre Authtoken comme indiqué ci-dessous.
Sur un terminal de votre Raspberry Pi, exécutez la commande suivante pour configurer votre authtoken.
/home/pi/ngrok authtoken "VOTRE AUTHTOKEN COPIÉ À PARTIR DU TABLEAU DE BORD ngrok"
Vous devriez obtenir un accusé de réception comme indiqué ci-dessous.
Copiez les tunnels de l'exemple de fichier de configuration ngrok (ngrok-sample.yml) dans le dossier /home/pi/ngrok-service/.
Ouvrez le fichier de configuration par défaut en utilisant:
sudo nano /home/pi/.ngrok2/ngrok.yml
Collez les tunnels que vous venez de copier à partir de l'échantillon. N'hésitez pas à supprimer les autres tunnels dont vous n'avez peut-être pas besoin à part le SSH.
Vérifiez maintenant si le tunneling fonctionne en démarrant l'application ngrok en utilisant
/home/pi/ngrok start -all
Étape 4: Configurer Ngrok en tant que service
Exécutez les commandes les unes après les autres pour configurer ngrok en tant que service
sudo chmod +x /home/pi/ngrok-service/scripts/service-installer.sh
sudo /home/pi/ngrok-service/scripts/service-installer.sh
sudo systemctl activer ngrok.service
sudo systemctl démarrer ngrok.service
Arrêtez temporairement le service ngrok jusqu'à ce que la configuration de l'authentification à deux facteurs soit terminée.
sudo systemctl arrêter ngrok.service
Étape 5: Configurer l'authentification à deux facteurs
Activez SSH si ce n'est déjà fait en utilisant:
sudo systemctl activer ssh
sudo systemctl activer ssh
sudo systemctl stop ssh
Activer le défi à deux facteurs. Ouvrez la configuration ssh en utilisant:
sudo nano /etc/ssh/sshd_config
Modifiez ChallengeResponseAuthentication de la valeur par défaut non à oui.
Enregistrez le fichier de configuration et quittez.
Étape 6: Configurez l'authentificateur Google
Installer le module d'authentification google pluggable google
sudo apt installer libpam-google-authenticator
Exécutez ce qui suit pour démarrer le module d'authentification
google-authentificateur
Téléchargez l'application Google Authenticator sur votre mobile et liez le module PAM en scannant le code QR à l'écran.
Configurez PAM pour ajouter l'authentification à deux facteurs.
sudo nano /etc/pam.d/sshd
Ajouter la ligne suivante au début
authentification requise pam_google_authenticator.so
Cela peut être ajouté ci-dessous ou au-dessus de @include common-auth
Étape 7: Redémarrez Ssh et Ngrok
Redémarrer les services
sudo systemctl redémarrer ssh
sudo systemctl redémarrer ngrok.service
Et c'est un enveloppement