Installer un certificat Let’s Encrypt sur Vmware ESXi (manuellement ou automatiquement)

pour mon Homelab, j’utilise l’hyperviseur VMware ESXi. L’interface d’administration était jusqu’à présent accessible soit derrière un Reverse Proxy Apache pour un accès depuis le web, soit depuis mon réseau local avec son IP. C’est donc mon reverse proxy en « frontal » qui gérait la connexion en HTTPS avec un certificat Let’s Encrypt Wildcard.

je souhaite maintenant le rendre accessible en HTTPS directement sans passer par le reverse proxy. Le certificat auto-signé de base n’est donc plus suffisant, il faut que j’utilise un certificat SSL valide directement depuis l’hyperviseur VMware ESXi.

je décris dans cet article 2 méthodes:

  1. comment mettre en place un certificat Letsencrypt avec renouvellement automatique.
  2. comment mettre en place manuellement un certificat Letsencrypt wildcard obtenu d’un autre serveur.

Je me concentre ici sur les certificats LetsEncrypt, je passe les prérequis.
c’est à dire, suivant ton cas:

  • Est-ce que le serveur doit/est accessible publiquement sur internet (nécessaire pour l’installation et le renouvellement automatique)
  • Est-ce que les enregistrements DNS publics sont corrects pour le domaine/sous domaine (nécessaire pour l’installation et le renouvellement automatique)
  • Est-ce que le routeur redirige les bons ports
  • le nom de domaine et le sous domaine FQDN sont-ils bien défini dans la configuration du serveur VMware ESXi (Mise en réseau > Pile TCP/IP > Pile TCP/IP Par défaut > Modifier les paramètres )
Mise en réseau > Pile TCP/IP > Pile TCP/IP Par défaut > Modifier les paramètres

Installation et renouvellement automatique d’un certificat LetsEncrypt sur un hyperviseur VMware ESXi

la documentation officielle de l’outil utilisé est ici

je me connecte en ssh à mon serveur VMware ESXi et une fois connecté :

si comme moi à la première étape tu rencontres des problèmes, c’est à dire qu’après une longue attente ça échoue avec :

c’est très certainement que tu n’as pas ouvert le firewall. pour le vérifier :

donc le temps des manips, je l’autorise avec :

si je réexécute la commande :

cette fois ci c’est bon, la connexion est autorisé mais j’ai toujours un soucis avec wget, j’utilise alors l’option  --no-check-certificate :

cette fois ci, c’est bon mon fichier est bien téléchargé!!

on peut continuer l’installation avec :

bon… la première exécution, j’ai :

admetons.. je réessaie (on ne sait jamais… peut être que la deuxième fois fonctionnera.. ) et là :

Même si je suis alerté par VIBs Skipped. sur la doc il est indiqué qu’il devrait être installed mais le package est bien installé. Je vérifie avec :

et j’ai bien :

à l’installation, le script est censé se lancer une première fois. Je vérifie avec :

Je retrouve bien les logs d’exécution, avec un success!!

je peux maintenant rétablir la règle firewall :


Et je fais également un extra test : je vais supprimer le certificat et relancer l’outil manuellement pour confirmer que la génération du certificat s’effectue bien. Décrit dans la documentation dans la partie Force Renewal

Pour ça je commence à supprimer le certificat :

et ensuite :

et tout vas bien dans le meilleur des mondes

certificat SSL LetsEncrypt valide sur mon homelab VMware ESXi

Installation manuelle d’un certificat LetsEncrypt

Je dirai que si la méthode automatique fonctionne, pourquoi s’en priver.

Si par contre, comme moi, à un moment donné tu as besoin de les installer manuellement (par exemple parce que le serveur est accessible dans un réseau local sur un sous domaine non déclaré sur des enregistrements DNS publics), la démarche est ci-dessous.

l’inconvénient étant la validité limité des certificat LetsEncrypt qui oblige à refaire la manipulation régulièrement ou à le scripter.

Il y a surement tout un tas d’outils géniaux quand on a une licence vSphere et tout les outils VMware à disposition. Malheureusement dans mon cas, je passe par la case installation à la dure. ssh, scp et compagnie

avant toute chose, je me connecte en ssh à mon serveur esxi et je fait un backup des certificats existants avec :

me voilà sécurisé, je peux maintenant me connecter cette fois ci, toujours en ssh, au serveur qui a mes certificat Letsencrypt Wildcard.

je commence par me faire un dossier de travail et je me positionne dedans :

je copie ensuite les fichiers dans ce dossier :

et je peux maintenant les envoyer directement sur le serveur ESXi (directement car j’ai fait un backup juste au dessus hein!!)

Si les fichiers ont été correctement copié au bon emplacement, la touche finale c’est de retourner sur le serveur ESXi en ssh et de redemarrer les services hostd et vpxa

et tadaaaamm!!! des certificat wildcard tout propre sur mon host Esxi

certificat SSL Wildcard letsencrypt valide sur mon homelab Vmware Esxi

Voilà, si tu es arrivé ici j’espère que ça t’a aidé!! N’hésite pas à me faire un retour si ça t’a servi ou s’il y a une correction à apporter.

En attendant je te dis à bientôt pour de nouvelles aventures!!

Partagez l'article:
FacebookTwitterEmailLinkedIn

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.