ESXi

De Wiki de Jordan LE NUFF
Sauter à la navigation Sauter à la recherche
m (Jordan a déplacé la page Let's Encrypt/ESXi vers Technique/Let's Encrypt/ESXi sans laisser de redirection)
Ligne 7 : Ligne 7 :
 
=== Créer les clés SSH ===
 
=== Créer les clés SSH ===
 
Se connecter en SSH avec l'utilisateur admin se sur le routeur/pare-feu pfSense (en SSH, sur pfSense cela l'utilisateur admin se transforme en root à la connexion) et lancer la commande suivante :
 
Se connecter en SSH avec l'utilisateur admin se sur le routeur/pare-feu pfSense (en SSH, sur pfSense cela l'utilisateur admin se transforme en root à la connexion) et lancer la commande suivante :
 
+
{{terminal|text=
ssh-keygen -t rsa
+
ssh-keygen -t rsa}}
  
 
Cela génère une clé privée ''.ssh/id_rsa'' et une clé publique ''.ssh/id_rsa.pub''.
 
Cela génère une clé privée ''.ssh/id_rsa'' et une clé publique ''.ssh/id_rsa.pub''.

Version du 26 septembre 2019 à 19:48

Présentation

Cette page a pour objet de décrire comment mettre en place la création/demande de renouvellement de certificat SSL de façon automatique avec Let's Encrypt sur un ESXi.

Méthode simple

Au regard de la complexité d'installation de cerbot et de ses dépendances sur un ESXi, il est plus simple de s'appuyer sur le package Acme du routeur/pare-feu pfSense pour générer le certificat et sur un script shell pour déposer ledit certificat sur l'ESXi.

Créer les clés SSH

Se connecter en SSH avec l'utilisateur admin se sur le routeur/pare-feu pfSense (en SSH, sur pfSense cela l'utilisateur admin se transforme en root à la connexion) et lancer la commande suivante :

Putty icon.png Console SSH

Cela génère une clé privée .ssh/id_rsa et une clé publique .ssh/id_rsa.pub.

Copier le contenu de la clé publique SSH précédemment générée et le coller dans le fichier /etc/ssh/keys-root/authorized_keys (le créer s'il n'existe pas) sur le serveur ESXi.

Depuis le routeur/pare-feu pfSense, faire un test de connexion SSH vers le serveur ESXi, la connexion devrait être fonctionnelle et ne pas demander de mot de passe.

Sauvegarde des certificats par défaut

Sur le serveur ESXi, sauvegarder la clé privée et le certificat existants :

mv /etc/vmware/ssl/rui.crt /etc/vmware/ssl/rui.crt_sav20180618
mv /etc/vmware/ssl/rui.key /etc/vmware/ssl/rui.key_sav20180618

Automatisation de la récupération du certificat SSL

Grâce à l'authentification par clé SSH précédemment réalisée, le script suivant permet la récupération automatique du certificat SSL d'une part, et la mise à jour de ce dernier sur le serveur ESXi si nécessaire d'autre part.

#!/usr/bin/env sh
DATE=`date +"%Y-%m-%d"`
LOGFILE=/var/log/esx_cert_renewal/esx_cert_renewal_$DATE.log
scp sysesx.jordan-lenuff.com:/etc/vmware/ssl/rui.crt /cf/conf/acme/rui.crt >> $LOGFILE
diff /cf/conf/acme/rui.crt /cf/conf/acme/sysesx.fullchain >> $LOGFILE
if [ "$?" == 0 ]
then
	echo "$DATE : Certificat pas à renouveler" >> $LOGFILE
	exit
elif [ "$?" == 1 ]
then
	echo "$DATE : Certificat à renouveler" >> $LOGFILE
	scp /cf/conf/acme/sysesx.fullchain sysesx.jordan-lenuff.com:/etc/vmware/ssl/rui.crt >> $LOGFILE
	ssh sysesx.jordan-lenuff.com "/etc/init.d/rhttpproxy restart" >> $LOGFILE
else
	echo "$DATE : Erreur sur le diff. Vérifier la présence des fichiers." >> $LOGFILE
fi