[Gandi] [Simple Hosting] [SSL] Installation de ‘Let’s encrypt’ sur une instance Simple Hosting

Installation de ‘Let’s encrypt’ sur une instance Simple Hosting.
/!\ Didacticiel obsolète /!\
/!\ Nouveau didacticiel : http://rockstarninja.tech/gandi-sh-installation-de-lets-encrypt/ /!\
Distribution de travail : Ubuntu 14.04 64 bits LTS (HVM)
I) Pré-requis.
1/ Création d’une instance Simple Hosting de taille M :
https://www.gandi.net/hebergement/simple?language=php&db=mysql&grid=A
2/ Ajout du site internet/hôte virtuel correspondant au nom de domaine :
https://wiki.gandi.net/fr/simple/shs-dns_config/instance
3/ Récupération de la clé API :
https://www.gandi.net/admin/api_key
II) Mise-en-place d’un serveur Ubuntu nouvellement créé :
1/ Mise-à-jour du serveur :

[~] ➔ ssh administrateur@65.142.166.156
administrateur@server01:~$ su
root@server01:/home/administrateur#
root@server01:/home/administrateur# apt-get update && apt-get upgrade

2/ Installation des paquetages de base :

root@server01:/home/administrateur# apt-get install git-core mc screen links vim
root@server01:/home/administrateur# exit

3/ Génération des clé ssh :

administrateur@server01:~$ ssh-keygen -t rsa -b 4096 -C "lesanglierdesardennes@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/administrateur/.ssh/id_rsa):  
Created directory '/home/administrateur/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/administrateur/.ssh/id_rsa.
Your public key has been saved in /home/administrateur/.ssh/id_rsa.pub.

4/ Vérification :

administrateur@server01:~$ ls -l ~/.ssh/
total 8
-rw------- 1 administrateur users 3326 Jul 23 01:23 id_rsa
-rw-r--r-- 1 administrateur users  757 Jul 23 01:23 id_rsa.pub

5/ Ajout de la clé publique ssh ‘id_rsa.pub‘ à l’instance :
Copier et coller la clé suivante :

administrateur@server01:~$ cat ~/.ssh/id_rsa.pub

https://wiki.gandi.net/fr/simple/ssh_key
6/ Test :
– 1er connexion :

administrateur@server01:~$ sftp 7001722@sftp.dc0.gpaas.net
The authenticity of host 'sftp.dc0.gpaas.net (2001:4b98:dc0:950::142)' can't be established.
RSA key fingerprint is 35:e0:5a:a9:54:12:55:6b:ce:41:8c:c1:9e:35:1d:f6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'sftp.dc0.gpaas.net,2001:4b98:dc0:950::142' (RSA) to the list of known hosts.
Enter passphrase for key '/home/administrateur/.ssh/id_rsa': 
Connected to sftp.dc0.gpaas.net.
sftp> exit

– 2ème connexion :

administrateur@server01:~$ sftp 7001722@sftp.dc0.gpaas.net
Enter passphrase for key '/home/administrateur/.ssh/id_rsa': 
Connected to sftp.dc0.gpaas.net.
sftp> exit

7/ Ajout de la clé dans ssh-agent :

administrateur@server01:~$ eval $(ssh-agent)
Agent pid 26764
administrateur@server01:~$ ssh-add
Enter passphrase for /home/administrateur/.ssh/id_rsa: 
Identity added: /home/administrateur/.ssh/id_rsa (/home/administrateur/.ssh/id_rsa)
administrateur@server01:~$

8/ 3ème connexion :

administrateur@server01:~$ sftp 7001722@sftp.dc0.gpaas.net
Connected to sftp.dc0.gpaas.net.
sftp> exit

III) Installation de Letsencrypt :
1/ Vérification de la version de Python :

administrateur@server01:~$ python --version
Python 2.7.6

2/ Mise-à-jour de Python pip :

administrateur@server01:~$ su
root@server01:/home/administrateur# apt-get install python-pip
root@server01:/home/administrateur# pip install --upgrade pip
root@server01:/home/administrateur# exit

3/ Téléchargement du client ‘Certbot‘ anciennement ‘Letsencrypt’:

administrateur@server01:~$ mkdir LETSENCRYPT
administrateur@server01:~$ cd LETSENCRYPT/
administrateur@server01:~/LETSENCRYPT$ git clone https://github.com/certbot/certbot
administrateur@server01:~/LETSENCRYPT$ cd certbot/
administrateur@server01:~/LETSENCRYPT/certbot$

4/ Création du fichier de vérification :
– Génération du contenu fichier de vérification :

administrateur@server01:~/LETSENCRYPT/certbot$ ./certbot-auto certonly -d steamcyberpunk.tech --manual
Enter email address (used for urgent notices and lost key recovery : lesanglierdesardennes@gmail.com

– Création du fichier de vérification :
Faire défiler le terminal vers le haut pour récupérer le contenu et le nom du fichier de vérification.

administrateur@server01:~/LETSENCRYPT/certbot$ printf "%s" hVLGu4IMer5vq8UhKqn2lGJW41frs6666AYmcQAY.vj2yjgzG4uo7AxQUKkKOz7pnu4BcjSpTJLLNChL4Hc8 > hVLGu4IMer5vq8UhKqn266666IuiAYmcQAY

– Création du répertoire de vérification :

administrateur@server01:~/LETSENCRYPT/certbot$ sftp 7027411@sftp.dc0.gpaas.net
Connected to sftp.dc0.gpaas.net.
sftp> cd vhosts/steamcyberpunk.tech/htdocs/
sftp> mkdir .well-known
sftp> cd .well-known/
sftp> mkdir acme-challenge
sftp> cd acme-challenge/
sftp> pwd
Remote working directory: /lamp0/web/vhosts/steamcyberpunk.tech/htdocs/.well-known/acme-challenge

– Transférer le fichier de vérification :

sftp> put hVLGu4IMer5vq8UhKqn2lGJW41frsdq0gI6666
Uploading hVLGu4IMer5vq8UhKqn2lGJW41frsdq0gI666 to /lamp0/web/vhosts/steamcyberpunk.tech/htdocs/.well-known/acme-challenge/hVLGu4IMer5vq8UhKqn2lGJW41frsdq0666
hVLGu4IMer5vq8UhKqn2lGJW41frsdq0gI6666                                                              100%   87     0.1KB/s   00:00
sftp> ls -l
-rw-r--r--    1 5000     5000           87 Jul 25 17:46 hVLGu4IMer5vq8UhKqn2lGJW41frsdq0gI6666
sftp> exit

5/ Erreur pour l’étape suivante :

administrateur is not in the sudoers file.  This incident will be reported.

Solution :
– Installation du paquet ‘sudo‘ :

administrateur@server01:~/LETSENCRYPT/certbot$ su
Password:
root@server01:/home/administrateur/LETSENCRYPT/certbot#  apt-get install sudo

– Edition de ‘visudo‘ :

root@server01:/home/administrateur/LETSENCRYPT/certbot# visudo

– Modifier le fichier ‘/etc/sudoers‘ :
Chercher :

root    ALL=(ALL:ALL) ALL

Ajouter après :

administrateur  ALL=(ALL:ALL) ALL

Sortir du mode ‘root‘ :

root@server01:/home/administrateur/LETSENCRYPT/certbot# exit

6/ Initialisation du répertoire ‘letsencrypt‘ et des exécutables en local :

administrateur@server01:~/LETSENCRYPT/certbot$ ./certbot-auto certonly --standalone --email lesanglierdesardennes@gmail.com -d steamcyberpunk.tech

/!\ Ignorer l’erreur à la fin /!\
7/ Vérification :

 administrateur@server01:~/LETSENCRYPT/certbot$ ls -l ~/.local/share/letsencrypt/bin/pip
-rwxr-xr-x 1 administrateur users 325 Jul 23 00:55 /home/administrateur/.local/share/letsencrypt/bin/pip

8/ Téléchargement de l’extension ‘Let’s encrypt pour Gandi‘ :

administrateur@server01:~/LETSENCRYPT/certbot$ cd ..
administrateur@server01:~/LETSENCRYPT$ git clone https://github.com/Gandi/letsencrypt-gandi.git
administrateur@server01:~/LETSENCRYPT$ cd letsencrypt-gandi/

9/ Mise-à-jour de la version ‘pip‘ de Gandi :

administrateur@server01:~/LETSENCRYPT/letsencrypt-gandi$ ~/.local/share/letsencrypt/bin/pip install --upgrade pip
...
Successfully installed pip-8.1.2

10/ Installation de l’extension de Gandi:

administrateur@server01:~/LETSENCRYPT/letsencrypt-gandi$ ~/.local/share/letsencrypt/bin/pip install -e .
Obtaining file:///home/administrateur/LETSENCRYPT/letsencrypt-gandi
Requirement already satisfied (use --upgrade to upgrade): setuptools in /home/administrateur/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt-gandi==0.0.1.dev0)
Requirement already satisfied (use --upgrade to upgrade): mock in /home/administrateur/.local/share/letsencrypt/lib/python2.7/site-packages (from letsencrypt-gandi==0.0.1.dev0)
Installing collected packages: letsencrypt-gandi
  Running setup.py develop for letsencrypt-gandi
Successfully installed letsencrypt-gandi
administrateur@server01:~/LETSENCRYPT$ cd certbot/
administrateur@server01:~/LETSENCRYPT/certbot$

11/ A l’étape suivante, erreur lors de l’envoie de la clé ‘Let’s encrypt‘ :

Permission denied (publickey,password).
Couldn't read packet: Connection reset by peer

Solution :

administrateur@server01:~/LETSENCRYPT/certbot$ su
Password:
root@server01:/home/administrateur# visudo

Chercher :

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Ajouter après :

Defaults env_keep+=SSH_AUTH_SOCK

Sortir du mode ‘root‘ :

root@server01:/home/administrateur/LETSENCRYPT/certbot# exit

Lien :
https://github.com/Gandi/letsencrypt-gandi/issues/11
12/ Génération de la clé ssh et envoi de la clé ‘Let’s encrypt‘ sur le serveur :

administrateur@server01:~/LETSENCRYPT/certbot$ sudo ./certbot-auto run --domains steamcyberpunk.tech \
            --authenticator letsencrypt-gandi:gandi-shs \
                --letsencrypt-gandi:gandi-shs-name HebergementSSL \
                --letsencrypt-gandi:gandi-shs-vhost steamcyberpunk.tech \
                --letsencrypt-gandi:gandi-shs-api-key tchYY6Vlb6ar159tEU2666 \
            --installer letsencrypt-gandi:gandi-shs

/!\ Ignorer les erreurs /!\
La page suivante s’affiche :

Congratulations! You have successfully enabled

13/ Vérification de la génération des clés :

administrateur@server01:~/LETSENCRYPT/certbot$ su
Password:
root@server01:/home/administrateur/LETSENCRYPT/certbot# ls -l /etc/letsencrypt/live/steamcyberpunk.tech/
total 0
lrwxrwxrwx 1 root root 43 Jul 25 20:02 cert.pem -> ../../archive/steamcyberpunk.tech/cert1.pem
lrwxrwxrwx 1 root root 44 Jul 25 20:02 chain.pem -> ../../archive/steamcyberpunk.tech/chain1.pem
lrwxrwxrwx 1 root root 48 Jul 25 20:02 fullchain.pem -> ../../archive/steamcyberpunk.tech/fullchain1.pem
lrwxrwxrwx 1 root root 46 Jul 25 20:02 privkey.pem -> ../../archive/steamcyberpunk.tech/privkey1.pem
root@server01:/home/administrateur/LETSENCRYPT/certbot# exit

14/ Test :
– Affichage de l’information du cadenas vert :
https://steamcyberpunk.tech
ssl04
ssl02
– Vérification via ‘ssllab’ :
https://www.ssllabs.com/ssltest/analyze.html?d=steamcyberpunk.tech
ssl03

Comments are closed, but trackbacks and pingbacks are open.