This repository has been archived on 2021-12-22. You can view files and clone it, but cannot push or open issues or pull requests.
docInfra/setup.md

43 lines
4.5 KiB
Markdown

# Mise en place de la Raspberry PI
Nous détaillerons ici l'installation de notre serveur sur un sytème Raspbian qui n'est qu'en version 32 bits, pour certaines raisons vous pouvez vouloir un système 64 bits. Vous pouvez aussi vouloir utiliser une autre distribution plus spécialisée ou non débian. Certaines choses de ce tutos ne vous concernerons pas.
## Préparer le système
La première chose à faire est de trouver une carte micro SD que l'on vide afin d'y mettre l'image du système. Afin de récupérer l'image il suffit de se rendre sur le [site de la Raspberry PI fundation](https://raspberrypi.org) et de se rendre sur la page de [téléchargement de Raspbian](https://www.raspberrypi.org/downloads/raspbian/). Il vous faudra télécharger l'image Lite de Raspbian, en effet nous n'aurons pas besoin d'interface graphique donc il est inutile de s'encombrer de celle-ci.
Une fois que vous avez récupéré l'image il vous faudra la flasher sur votre carte micro SD, pour cela il y a plusieurs solutions, vous pouvez utiliser l'utilitaire *Gnome Disk* et choisir `Restaurer une image disque` ou plus simplement utiliser un logiciel comme [*Etcher*](https://www.balena.io/etcher/). Je vous laisse le soin de trouver comment fonctionnent ces logiciels.
Une fois ceci fait il faudra se rendre dans la partition *boot* de la carte micro SD et y créer un fichier vide nommé *ssh* afin d'activer la connexion par SSH à la machine, ceci permettra de s'y connecter de manière textuelle à distance.
Vous pouvez alors mettre la carte dans la Raspberry PI et l'allumer, normalement la LED rouge s'allume et celle verte clignote avant de s'éteindre.
## Accès SSH au système
Maintenant que le système est installé il faut y accéder. Les noms d'utilisateur et mots de passe par défaut pour Raspbian sont :
* Utilisateur : `pi`
* Mot de passe : `raspberry`
Pour accéder au système il vous faut un client ssh, sous Linux il est installé par défaut et sur Windows vous pouvez utiliser [Putty](https://www.putty.org/) ou installer [MinGW](http://www.mingw.org/) qui intègre les commandes GNU à l'invite de commande Windows.
La première chose à faire est de se connecter avec la commande `ssh <utilisateur>@<adresseIP>` l'invite de commande vous demandera d'entrer le mot de passe.
Vous êtes connecté ! Vous pouvez commencer par mettre à jour le système avec `sudo apt update && sudo apt upgrade -y`.
## Gestion des utilisateurs
Je vous conseille alors de vous créer un nouvel utilisateur en lançant `sudo useradd <nom d'utilisateur>` et de changer son mot de passe avec `sudo passwd <nom d'utilisateur>`. Enfin il faut ajouter l'utilisateur au groupe `sudo` pour avoir accès aux privilèges de super-utilisateur, il faut donc entrer `sudo adduser <nom d'utilisateur> sudo`.
Vous pouvez maintenant vous déconnecter avec `exit` et vous reconnecter avec votre nouvel utilisateur.
Maintenant supprimez l'utilisateur par défaut `sudo userdel -r pi` et créez votre répertoire par défaut avec `mkdir /home/$USER` et donnez-vous les droits avec `sudo chown $USER /home/$USER && sudo chgrp $USER /home/$USER`.
Vous pouvez si vous le souhaitez par soucis de confort désactiver la demande du mot de passe à chaque utilisation de sudo, sachez que si cette option est activée, celui qui arrive à accéder à un terminal de votre utilisateur a les accès super utilisateur. Pour cela entrez `sudo visudo` puis ajoutez à la fin `<nom d'utilisateur> ALL=(ALL) NOPASSWD: ALL`.
## TODO : sécurisation SSH
Nous allons à présent configurer ssh afin de le sécuriser. Le but sera de désactiver l'authentification par mot de passe et l'authentification au compte root à distance. Pour cela il faut modifier le fichier `/etc/ssh/sshd_config`, mettre `PasswordAuthentification` à no, `PubkeyAuthentification` à yes et `PermitRootLogin` à no. **/!\ Ne pas fermer votre session à ce moment sinon vous ne pourrez plus accéder à votre machine**
Il vous faudra ensuite générer une paire de clé SSH, pour cela sur une machine linux il suffit de lancer `ssh-keygen`. Il faut mettre sa clé publique ssh dans le dossier .ssh du home directory dans le fichier authorized_keys (copier le contenu de .ssh/id_rsa.pub). Puis faites `sudo systemctl restart sshd`.
## Alternatif
On accède à l'utilisateur root par ssh, il faut mettre la clé publique dans /root/.ssh/authorized_keys
on lance usermod -l <nom utilisateur> pi, mv /home/pi /home/<nom utilisateur>, usermod -d /home/<username> <username>, groupmod -n <username> pi et on change le mot de passe.