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
– Vérification via ‘ssllab’ :
https://www.ssllabs.com/ssltest/analyze.html?d=steamcyberpunk.tech
Comments are closed, but trackbacks and pingbacks are open.