From 31afcb18cf3394a7cfa5020548c53385813f8205 Mon Sep 17 00:00:00 2001 From: LecygneNoir Date: Tue, 16 Mar 2021 12:12:27 +0100 Subject: [PATCH] =?UTF-8?q?Patch=20bloc=20de=20code=20suite=20=C3=A0=20la?= =?UTF-8?q?=20mise=20=C3=A0=20jour=20du=20th=C3=A8me?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configurer-reverse-proxy-haproxy.md | 3 +- content/Système/connexion-ssh-par-cle.md | 73 +++++++++++-------- .../Système/utiliser-letsencrypt-haproxy.md | 12 ++- 3 files changed, 52 insertions(+), 36 deletions(-) diff --git a/content/Système/configurer-reverse-proxy-haproxy.md b/content/Système/configurer-reverse-proxy-haproxy.md index 14a0853..42a4e46 100644 --- a/content/Système/configurer-reverse-proxy-haproxy.md +++ b/content/Système/configurer-reverse-proxy-haproxy.md @@ -81,7 +81,8 @@ Status: published ``` aptitude update -aptitude install haproxy``` +aptitude install haproxy +``` ### Global et default diff --git a/content/Système/connexion-ssh-par-cle.md b/content/Système/connexion-ssh-par-cle.md index fcb3deb..b4d19d5 100644 --- a/content/Système/connexion-ssh-par-cle.md +++ b/content/Système/connexion-ssh-par-cle.md @@ -20,8 +20,9 @@ Status: published

Cependant, l'un des gros problèmes d'un script automatique, c'est qu'un mot de passe, il a un peu de mal à le taper. Alors, on peut bidouiller me direz-vous :

-
-echo "motdepasse" ssh root@serveurIP```
+```
+echo "motdepasse" ssh root@serveurIP
+```
 

Pourquoi pas. Mais bon, ça oblige à mettre le mot de passe en clair, ça ne marche pas toujours selon la configuration de votre serveur ssh, et la connexion en root, c'est mal.

@@ -52,46 +53,49 @@ echo "motdepasse" ssh root@serveurIP``` Sur votre machine cliente, il va d'abord falloir générer la fameuse clé. Ou plutôt, le couple de clé, la clé publique et la clé privée. (Voir la cryptographie asymétrique)

Si ce n'est pas déjà fait, installez donc le client openssh :

-
-$ sudo aptitude update && sudo aptitude install openssh-client```
+```
+$ sudo aptitude update && sudo aptitude install openssh-client
+```
 

(Bien sûr, openssh serveur est installé sur votre machine distante)

Ensuite, générez la clé pour votre client :

-
+```
 $ ssh-keygen -t rsa -b 4096
-Generating public/private rsa key pair.```
-

+Generating public/private rsa key pair. +```

Il vous faut ensuite répondre à plusieurs questions. La valeur par défaut est correcte, il suffit donc d'appuyer sur Entrée à chaque fois. Pour la passphrase, laissez vide pour qu'elle ne soit pas utilisée (c'est ce que l'on veut pour la connexion automatique)

Une fois la clé générée, un petit resumé est affiché :

-
+```
 Your identification has been saved in /home/utilisateur/.ssh/id_rsa.
 Your public key has been saved in /home/utilisateur/.ssh/id_rsa.pub.
 The key fingerprint is:
-XX:8a:XX:91:XX:ae:XX:23:XX:2e:XX:ed:XX:4e:XX:b8 utilisateur@machinecliente```
-

+XX:8a:XX:91:XX:ae:XX:23:XX:2e:XX:ed:XX:4e:XX:b8 utilisateur@machinecliente +```

Les deux clés (publique et privée) sont donc stockées directement dans votre dossier home, dans un dossier caché nommé .ssh/

## Envoi de la clé au serveur : tuyau crypté

Le moment délicat est arrivé. Il vous faut transmettre votre clé au serveur, de préférence via un moyen crypté. (Bah oui, envoyer la clé en clair via ftp par exemple vous expose à vous la faire piquer, et donc potentiellement pirater...)

Pour ça, le meilleur moyen reste encore ssh ! Il va vous falloir une dernière fois votre mot de passe pour vous connecter au serveur. Grâce aux outils ssh, il suffit de faire :

-
+```
 $ ssh-copy-id -i /home/login/.ssh/id_rsa.pub login@machineserveur
-Password :```
-

+Password : +```

Entrez votre mot de passe, et la clé sera directement copiée dans le dossier .ssh/authorized_keys de votre serveur. Ce dossier est dans le home de l'utilisateur du serveur (pas root hein ??)

-
+```
 Now try logging into the machine, with "ssh 'login@machineserveur'", and check in:
   .ssh/authorized_keys
-to make sure we haven't added extra keys that you weren't expecting.```
+to make sure we haven't added extra keys that you weren't expecting.
+```
 

Une fois celà fait, vous pouvez maintenant vous connecter à votre serveur sans avoir besoin d'aucun mot de passe.

Pour testez, faites donc un petit :

-
-ssh login@machineserveur```
+```
+ssh login@machineserveur
+```
 

La connexion doit s'effectuer sans mot de passe ! Vous pouvez maintenant utiliser à loisir ssh, scp, rsync, ... dans vos scripts !

## Problèmes éventuels : il peut arriver que... @@ -105,32 +109,38 @@ ssh login@machineserveur```
  1. Les droits du dossier personnel de votre utilisateur sont corrects :  -
    +```
     $ ls -l /home
    -drwxr-xr-x 5 login login 4096  3 jui.   2012 login```
    +drwxr-xr-x 5 login login 4096  3 jui.   2012 login
    +```
     			Les droits doivent être identiques à l'exemple, c'est à dire en 755. Pour eventuellement corriger ça, faites 
    -		
    -$ chmod 755 /home/login```
    +```
    +$ chmod 755 /home/login
    +```
     		

  2. Les droits du dossier .ssh sont corrects : -
    +```
     $ ls -l /home/login
    -drwx------ 2 login login    4096  9 sept.  2011 .ssh```
    +drwx------ 2 login login    4096  9 sept.  2011 .ssh
    +```
     			De même que précedemment, si les droits ne sont pas corrects, faites 
    -		
    -$ chmod 700 /home/login/.ssh```
    +```
    +$ chmod 700 /home/login/.ssh
    +```
     		

  3. Les droits du fichier authorized_keys sont corrects : -
    +```
     $ ls -l /home/login/.ssh/authorized_keys
    --rw------- 2 login login    4096  9 sept.  2011 authorized_keys```
    +-rw------- 2 login login    4096  9 sept.  2011 authorized_keys
    +```
     			Si ce n'est pas correct, un petit :
    -		
    -$ chmod 600 /home/login/.ssh/authorized_keys```
    +```
    +$ chmod 600 /home/login/.ssh/authorized_keys
    +```
     			devrait faire l'affaire
     	
@@ -142,8 +152,9 @@ $ chmod 600 /home/login/.ssh/authorized_keys```

La solution est assez simple, il faut lui passer en tant qu'option ssh, de la manière suivante : 

-
-$ ssh-copy-id -i /home/login/.ssh/id_dsa.pub '-pPORT login@machineserveur'```
+```
+$ ssh-copy-id -i /home/login/.ssh/id_dsa.pub '-pPORT login@machineserveur'
+```
 

En fait vous pouvez même passer toutes les options propres à ssh en mettant ça entre ''. (Par exemple l'algorithme de chiffrement, ...)

diff --git a/content/Système/utiliser-letsencrypt-haproxy.md b/content/Système/utiliser-letsencrypt-haproxy.md index 901a512..698b9ea 100644 --- a/content/Système/utiliser-letsencrypt-haproxy.md +++ b/content/Système/utiliser-letsencrypt-haproxy.md @@ -126,7 +126,8 @@ backend bk-letsencrypt

Bien sûr, rechargez haproxy après ces modifications.

``` -systemctl reload haproxy.service``` +systemctl reload haproxy.service +``` ## Configurer et utiliser Let's Encrypt @@ -157,7 +158,8 @@ standalone-supported-challenges = http-01

La ligne de commande à utiliser pour générer votre certificat est la suivante :

``` -/root/letsencrypt/certbot-auto certonly --domains yourdomain.tld --renew-by-default --http-01-port 63443 --agree-tos``` +/root/letsencrypt/certbot-auto certonly --domains yourdomain.tld --renew-by-default --http-01-port 63443 --agree-tos +```
  • certonly : précise que l'on souhaite simplement générer le certificat, et pas utiliser un plugin d'installation pour stocker les certificats quelque part
  • @@ -183,7 +185,8 @@ standalone-supported-challenges = http-01

    Pour haproxy, vous devez concaténer fullchain.pem et privkey.pem dans un seul fichier, et le placer là ou votre haproxy lit ses certificats.

    ``` -cat fullchain.pem privkey.pem > domain.tld.pem``` +cat fullchain.pem privkey.pem > domain.tld.pem +```

    Un exemple :

    @@ -213,7 +216,8 @@ frontend https-in ``` crontab -e #renew certificate -30 01 01,10,20,30 * * /root/letsencrypt/certbot-auto renew``` +30 01 01,10,20,30 * * /root/letsencrypt/certbot-auto renew +```

    Cette tâche permettra de lancer la commande tous les 10 jours, afin d'être sur d'avoir des certificats à jour.