Jeedom letsencrypt : Différence entre versions
Ligne 1 : | Ligne 1 : | ||
[[Domotique|Retour]] | [[Domotique|Retour]] | ||
+ | ==Générer des certificats valide à l'aide de let's encrypt== | ||
+ | Les certificat ssl Lets encrypt seront généré et géré par OPNSense [[OPNSense_os-acme-client|à cette étape]] | ||
− | ==Principe:== | + | ==Récupérer les certificat Let's encrypt généré par opnsense== |
+ | ===Principe:=== | ||
L'idée est de pouvoir se connecter sur le site jeedom.slemoal.fr en restant local et en bénéficiant du certificat ssl Lets encrypt généré et géré par OPNSense [[OPNSense_os-acme-client|à cette étape]] | L'idée est de pouvoir se connecter sur le site jeedom.slemoal.fr en restant local et en bénéficiant du certificat ssl Lets encrypt généré et géré par OPNSense [[OPNSense_os-acme-client|à cette étape]] | ||
− | ==Redirection DNS== | + | ===Redirection DNS=== |
Se connecter sur OPNSense | Se connecter sur OPNSense | ||
Ligne 13 : | Ligne 16 : | ||
{{Rouge|ATTENTION}} Sur votre ordinateur le serveur DNS doit être opnsense | {{Rouge|ATTENTION}} Sur votre ordinateur le serveur DNS doit être opnsense | ||
− | == | + | ===Créer une clé public sur Jeedom=== |
+ | Nous allons créer un compte avec un certificat, afin de permettre au serveur Centreon de se connecter à opnsense en ssh sans mot de passe | ||
− | |||
− | |||
− | |||
si ça n'est pas dejà fait, nous allons créer une clé pour l'utilisateur root | si ça n'est pas dejà fait, nous allons créer une clé pour l'utilisateur root | ||
ssh-keygen -t rsa -b 2048 -C root | ssh-keygen -t rsa -b 2048 -C root | ||
Ligne 35 : | Ligne 36 : | ||
*Cocher: Générer un mot de passe aléatoire | *Cocher: Générer un mot de passe aléatoire | ||
*Shell de connexion: /bin/sh | *Shell de connexion: /bin/sh | ||
+ | *Membre du groupe: admins | ||
*Clés autorisées: coller la clé public créer precedement (Exemple: ssh-rsa AAAAB3NzaC1yc... ...XOQKm/x root) | *Clés autorisées: coller la clé public créer precedement (Exemple: ssh-rsa AAAAB3NzaC1yc... ...XOQKm/x root) | ||
Ligne 70 : | Ligne 72 : | ||
crontab -e | crontab -e | ||
− | 0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.cer /etc/ssl/certs/ | + | 0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.cer /etc/ssl/certs/ |
− | 0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.key /etc/ssl/private/ | + | 0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.key /etc/ssl/private/ |
0 5 * * 1 service apache2 restart | 0 5 * * 1 service apache2 restart | ||
[[Catégorie:Jeedom]] | [[Catégorie:Jeedom]] |
Version du 7 avril 2020 à 08:14
Sommaire
Générer des certificats valide à l'aide de let's encrypt
Les certificat ssl Lets encrypt seront généré et géré par OPNSense à cette étape
Récupérer les certificat Let's encrypt généré par opnsense
Principe:
L'idée est de pouvoir se connecter sur le site jeedom.slemoal.fr en restant local et en bénéficiant du certificat ssl Lets encrypt généré et géré par OPNSense à cette étape
Redirection DNS
Se connecter sur OPNSense
Services: Unbound DNS: Contournements
ATTENTION Sur votre ordinateur le serveur DNS doit être opnsense
Créer une clé public sur Jeedom
Nous allons créer un compte avec un certificat, afin de permettre au serveur Centreon de se connecter à opnsense en ssh sans mot de passe
si ça n'est pas dejà fait, nous allons créer une clé pour l'utilisateur root
ssh-keygen -t rsa -b 2048 -C root
ne renseigner pas de passphrase
Copier le contenue de la clé public
cat /root/.ssh/id_rsa.pub
Créer un compte sur OPNSense
Système: Accès: Utilisateurs
Renseigner:
- Nom d'utilisateur: jeedom
- Cocher: Générer un mot de passe aléatoire
- Shell de connexion: /bin/sh
- Membre du groupe: admins
- Clés autorisées: coller la clé public créer precedement (Exemple: ssh-rsa AAAAB3NzaC1yc... ...XOQKm/x root)
Sauvegarder
Tester la connection en ssh depuis le serveur jeedom
ssh jeedom@10.10.10.1 -p 8022
ECDSA key fingerprint is SHA256:SoX8QCm... ...6CRPJMI. Are you sure you want to continue connecting (yes/no)? yes
Si il ne demande pas de mot de passe, c'est gagné.
Modifier le fichier de conf apache
Modifier l'emplacement des certificat et clé dans le fichier apache
cat /etc/apache2/sites-enabled/000-default-le-ssl.conf
Dans notre cas le fichier sera:
<IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog /var/www/html/log/http.error ServerName jeedom.slemoal.fr SSLCertificateFile /etc/ssl/certs/jeedom.slemoal.fr.cer SSLCertificateKeyFile /etc/ssl/private/jeedom.slemoal.fr.key </VirtualHost> </IfModule>
Créer un cron sur le serveur jeedom
crontab -e
0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.cer /etc/ssl/certs/ 0 5 * * 1 scp -P 8022 jeedom@10.10.10.1:/var/etc/acme-client/home/jeedom.slemoal.fr/jeedom.slemoal.fr.key /etc/ssl/private/ 0 5 * * 1 service apache2 restart