Provision du Datacenter - Installation du système d'exploitation DEBIAN - [Raspberry PI/Rock64]

[ NIVEAU ] Débutant
Cette procédure permet l’installation d’un système Linux DEBIAN sur une unité Raspberry PI ou Rock64. Il est possible d’utiliser d’autres distributions, non couvert par cette documentation ( - Debian for ever:) - ).

Pré-requis

Pour exécuter cette opération vous devez :

  • disposer d’une connexion Internet
  • disposer d’un ordinateur équipé d’un système d’exploitation Linux (l’utilisation de Windows ou Macos n’est pas couverte dans cette documentation)
  • disposer d’un lecteur de carte SD
  • disposer d’une unité Raspberry Pi ou Rock64
  • savoir exécuter une commande dans une console Linux
  • être connecté “root” à la console, pour les utilisateur sudo : tapez sudo bash

Téléchargement de l’image bootable

Vous devrez choisir des images boootables officielles, maintenues par l’organisation Debian ou la fondation RaspberryPI. Une image “non officielle” peut embarquer des “backdoors”, virus en tous genres.
Le site officiel pour Debian est ici, celui de la Fondation RaspberryPI ici

A partir d’une console utilisez la commande “wget” pour télécharger l’image iso:

wget [Url de l'image iso]

Raspberry PI

Téléchargez une image minimale qui n’implémentera que le nécessaire pour démarrer une unité.

Raspberry PI - Fondation RaspberryPI

Rendez-vous sur la page. Téléchargez la version LITE.

Raspberry PI - Organisation DEBIAN

Documentation officielle : suivre la procédure

Rock64

J’utilise la distribution Armbian, rendez-vous sur la page. Télécharger la version “Buster Server”

Manipulation après téléchargement

Les fichiers téléchargés sont généralement compressés donc, non utilisable.

Le fichier téléchargé se termine par “img”

Rien à faire

Le fichier téléchargé se termine par “iso”

Rien à faire

Le fichier téléchargé se termine par “zip”

Installer le package “unzip”

apt-get -y install unzip

Décompressez l’archive

unzip -d [nom du fichier téléchargé]

Le fichier téléchargé se termine par “7z”

Installer le package “p7zip”

apt-get -y install p7zip

Décompressez l’archive

p7zip -d [nom du fichier téléchargé]

Le fichier téléchargé se termine par “tar.gz”

Installer les packages “tar gzip”

apt-get -y install tar gzip

Décompressez l’archive

tar xvf [nom du fichier téléchargé]

Le fichier téléchargé se termine par “.gz”

Installer le package “gzip”

apt-get -y install gzip

Décompressez l’archive

gzip -d [nom du fichier téléchargé]

Aprés décompression

Il est fort possible que l’opération de décompression ait créée un nouveau répertoire, qui contient un fichier de type “img” ou “iso”. Dans ce cas, déplacez-vous dans ce répertoire :

cd [nom du nouveau répertoire]

Copie de l’image ISO sur la carte SD

Insérer une carte SD de 16Go minimum, afin d’avoir un peu de place pour travailler.
ATTENTION si cette carte contient des données, après cette opération, les données seront définitivement perdues.
Pour récupérer facilement la destination de cette “device” utilisez la commande “dmesg” :

# Ouvrir une fenêtre de commande (terminal)
# Insérez la carte SD
# tapez :
dmesg

[131875.354612] mmc0: new SD card at address 0001
[131875.355265] mmcblk0: mmc0:0001 16GB 16 GiB 

Dans mon cas il s’agit de la device “mmcblk0”, accessible par le fichier “/dev/mmcblk0”

# dans le répertoire de l'image téléchargée, tapez :
ls 
# donne la liste des fichiers de ce répertoire, repérez le fichier image téléchargé précédemment
# copie de l'image sur la carte SD - utilisation de la commande dd
# dd if=[nom du fichier image téléchargé] of=/dev/[device carte SD obtenue avec dmesg] bs=4096 status=progress
# dd : commande
# if : source
# of : destination
# bs : nombre de bits lu et écrit en une fois
# status=progress : permet d'afficher l'avancée de la copie
# Exemple : le fichier contenu dans l'archive téléchargée est nommée Armbian_5.98_Rock64_Debian_buster_default_4.4.192_minimal.img
#           ma device carte SD : /dev/mmcblk0
dd if=Armbian_5.98_Rock64_Debian_buster_default_4.4.192_minimal.img of=/dev/mmcblk0 bs=4096 status=progress

Démarrage du système

Insérez la carte SD dans l’unité, si vous disposez d’un écran, connectez-le à l’unité, ainsi que le clavier. Alimentez, c’est parti… Si vous ne disposez ni d'écran ni clavier, vous devez connecter l’unité au réseau (câble RJ45). L’unité va démarrer, obtenir une adresse réseau et sera joignable au moyen de la commande “ssh”.

Connexion au système

Si vous disposez d’un écran/clavier, pas de problème l'écran affiche “login:".
Pour une utilisation en réseau, vous devez connaître l’adresse IP attribuée au système. Je n’ai pas de solution miracle, vous pouvez utilisez un scanner de réseau (nmap), vous connectez au routeur qui offre le servide DHCP. Ce service est chargé de distribuer les adresses IP sur le réseau et dispose de traces.

Pour détecter la machine par scanner réseau, à partir de votre PC connecté au réseau local, installer la paquet “nmap”

apt-get -y install nmap

Détecter le réseau sur lequel vous êtes connecté :

ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b9:ca:cf:fd:0b:3f brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.124/24 brd 192.168.10.255 scope global dynamic noprefixroute eth0
       valid_lft 72589sec preferred_lft 72589sec

Ma carte réseau est eth0 et connectée, elle dispose de l’adresse IP 192.168.10.124 avec un masque /24 (255.255.255.0), par superposition du masque, mon réseau est 192.168.10.0, je vais scanner le port 22 (ssh) de ce réseau, en remplaçant le dernier 0 par “*” et avec la commande nmap :

nmap -p 22 192.168.10.*
Nmap scan report for 192.168.10.126
Host is up (0.00049s latency).
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: b3:0d:f8:e0:18:18 (Raspberry Pi Foundation)

Le scanner à trouvé une unité de type Raspberry Pi).

Exemple pour un rock64, nmap ne reconnaît pas le type

Nmap scan report for 192.168.10.126
Host is up (0.00073s latency).
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: b3:0d:f8:e0:18:18 (Unknown)

Authentification

Par défaut les images téléchargées disposent d’un compte et mot de passe fixés par défaut. Pour Raspbian (Raspberry PI) le compte est “pi” et le mot de passe “rasbperry”. Pour la distribution Armbian (Rock64) le compte est “root” et le mot de passe “1234”.

Avec un écran/clavier

Tapez le compte, entrez, puis le mot de passe et entrez.

Par le réseau

Utilisez la commande “ssh [Adresse IP]", exemple :

ssh 192.168.10.126
# Accepter l'empreinte et utilisez le compte/mot de passe par défaut

Post-connexion

La première chose à faire est de changer le mot de passe de connexion, “pi” pour les Raspberry, “root” pour les rock64. Utilisez le générateur de mot de passe “apg” :

apt-get -y install apg
apg
;QuanhaverOv0 (SEMICOLON-Quan-hav-er-Ov-ZERO)
5Gryptaphod| (FIVE-Grypt-aph-od-VERTICAL_BAR)
Be=slyes5 (Be-EQUAL_SIGN-slyes-FIVE)
AkCawf\OsOc6 (Ak-Cawf-BACKSLASH-Os-Oc-SIX)
CribMiph5od] (Crib-Miph-FIVE-od-RIGHT_BRACKET)
orth5Ov4og[ (orth-FIVE-Ov-FOUR-og-LEFT_BRACKET)

Choisissez et retenez bien un des mots de passe proposés et exécutez la commande “passwd” :

passwd [entrez]
Enter new UNIX password: [tapez le mot de passe entrez]
Retype new UNIX password: [tapez le mot de passe entrez]
passwd: password updated successfully

Vous pouvez vérifiez les comptes qui disposent d’un mot de passe :

cat /etc/shadows
root:$6$gHcL4KU]xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.n9bALxIHOU2ND.:18183:0:99999:7:::
daemon:*:18183:0:99999:7:::
bin:*:18183:0:99999:7:::
sys:*:18183:0:99999:7:::
sync:*:18183:0:99999:7:::
games:*:18183:0:99999:7:::
man:*:18183:0:99999:7:::
lp:*:18183:0:99999:7:::
mail:*:18183:0:99999:7:::
news:*:18183:0:99999:7:::
uucp:*:18183:0:99999:7:::

Ici, seul le compte “root” dispose d’un mot de passe, par conséquent seul “root” peut se connecter à ce système. Il est impossible de se connecter, à un serveur DEBIAN, avec un compte qui ne dispose pas de mot de passe.

Installation de paquets

Votre système dispose du minimum, vous pouvez vous entraîner à l’utilisation des commandes, lister le contenu d’un répertoire, créer des fichiers, etc. Cette documentation ne couvre pas cette apprentissage. Pour les non initiés, je conseille la lecture du cahier de l’administrateur Debian

Conservation de l’image téléchargée

Si le système démarre normalement conservez précieusement l’image téléchargée. Nous verrons que cette image peut être nécessaire, pour le cas d’une restauration complète du système à partir de logiciel de sauvegarde BackupPC (voir la partie sécurité des données). Cette image peut aussi être utilisée, dans le futur, pour un audit sécurité, certains “backdoors”, virus sont parfois détectés très longtemps après leur mise en service. Ceci permettra de savoir plus rapidement depuis combien de temps votre système est compromis, et évaluer au mieux l’impact de cet indident.
Et nous verrons aussi l’utilité de conserver cette image, pour l’implémentation du processus d’installations automatisées de serveurs, avec démarrage par le réseau.