Aller au contenu

Raspberry Pi – Installation en mode serveur – JBNet.fr


Ldfa

Messages recommandés

Raspberry Pi – Installation en mode serveur

Votez !

Mémo pour démarrer rapidement l’installation et la configuration d’un Rapsberry Pi 3 (Modèle B) en mode serveur.
C’est à dire sans écran ni clavier.

Note

Ce mémo va évoluer au fur et à mesure de mes besoins ou retour dans les commentaires.

Sommaire

Liste des sujets traités sur ce mémo :

  • Installer Rapsbian
  • Activer le SSH
  • Premier démarrage
  • Le sudo
  • Arrêter / redémarrer le Raspberry Pi
  • Mettre à jour raspi-config
  • Étendre la capacité de stockage
  • Changer la langue
  • Changer le clavier de QWERTY à AZERTY
  • Date et heure
  • Récupérer un max de mémoire vive
  • Mise à jour
  • Sécuriser (un peu) l’accès SSH
  • Désactiver le matériel inutile
  • Changer le nom
  • Adresse ip fixe
  • Désactiver l’ipv6
  • Recevoir des e-mails du Raspberry Pi
  • Recevoir les mises à jour par e-mail
  • Mot de la fin

Installer Rapsbian

Sur le site officiel raspberrypi.org, télécharger « Raspbian Stretch Lite ».

Que l’on soit sous Windows ou Linux ou Mac, utiliser Etcher pour transférer l’image sur la carte microSD.

Activer le SSH

Avant d’insérer la carte microSD dans le Raspberry PI, il faut créer un fichier nommé « ssh » sans extension à la racine de la partition root.

Sous Linux un simple « touch ssh » suffit.

Premier démarrage

  1. Insérer la carte microSD dans le Raspberry Pi.
  2. Connecter un câble réseau RJ45 au Rapsberry Pi et au switch (ou box internet).
  3. Alimenter le Raspberry Pi.

Au bout de quelques secondes, le Raspberry Pi doit être visible dans la liste des équipements connectés à partir de l’interface du switch ou de la box.
Récupérer son adresse IP et ouvrir une session ssh avec l’utilisateur pi :

Le mot de passe par défaut est « raspberry ».
A changer rapidement bien entendu !

Résultat :

Le sudo

Sudo or not sudo ?

Accorder sudo à un utilisateur c’est accordé les droits d’administrateur (root) sans fournir le mot de passe root.
Sur une machine multi-admin, ça peut être utile.

Personnellement, je considère qu’un utilisateur qui est dans le groupe sudo génère une situation à risque surtout si cette machine est accessible via internet.
Un piratage par force brut du mot de passe ou une récupération de clé SSH (négligemment stockée en clair sur une clé USB, un smartphone ou un cloud) et zop, le serveur vole en éclat.

A vous de faire votre choix.

Si pas sudo alors

Activer le mot de passe root :

Ensuite il suffit de se connecter avec l’utilisateur normal, puis de taper cette commande pour être root :

On peut alors supprimer l’utilisateur du group sudo :

Si sudo alors

Je ne sais pas vous, mais j’ai tendance à oublier d’ajouter « sudo » devant les commandes qui ont besoin d’avoir les droits root.
Petite astuce pour ne plus avoir à le faire :

A partir de là, plus besoin d’ajouter « sudo » à toutes les commandes.

Si vous ne vous êtes pas déconnecté après avoir changer le mot de passe, vous devriez avoir ce message :

Utiliser « Ctrl+d » 2 fois pour se déconnecter du sudo puis de la connexion ssh.
Puis se reconnecter au Rapsberry Pi en SSH.
Le message devrait avoir disparu à la connexion sudo.

Sauf avis contraire dans la suite de ce mémo, les commandes sont exécutées avec l’utilisateur root (le vrai, donc sans sudo 😉 ).

Arrêter / redémarrer le Raspberry Pi

Petite mise au point avant de commencer.

Je vois pas mal d’utilisateurs qui relancent leur Rapsberry en débranchant la prise puis en la rebranchant.
!! A NE FAIRE QUAND CAS D’ABSOLUE NÉCESSITÉ !!
Vous risquez de perdre des données sinon.
Faut réfléchir un peu bon sang, c’est pas une console de jeux mais un ordinateur.

La bonne méthode pour redémarrer est :

La commande « reboot » marche aussi.

La commande pour arrêter :

Il existe aussi la commande « init 0 », mais elle est un peu brutale à mon goût (genre kill -9).

Mettre à jour raspi-config

Exécuter raspi-config :

Sélectionner l’option « 8 Update » et attendre la fin du processus.

Étendre la capacité de stockage

Exécuter raspi-config :

  1. Sélectionner l’option « 7 Advanced Options »
  2. Sélectionner l’option « A1 Expand Filesystem »
  3. Sortir de raspi-config et confirmer le reboot.

Changer la langue

Par défaut, Raspbian est en anglais « en_GB.UTF-8 » :

Pour changer vers fr_FR.UTF-8 UTF-8, exécuter raspi-config :

  1. Sélectionner l’option « 4 Localisation Options »
  2. Puis « I1 Change Locale ».
  3. Dans la liste rechercher et cocher avec la barre espace « fr_FR.UTF-8 UTF-8 ».
  4. A la question « Default locale for the system environment: », sélectionner « fr_FR.UTF-8 » et valider.

La prise en compte se fera au redémarrage du Raspberry Pi :

Vérification :

La commande « Debian-Like » est :

Changer le clavier de QWERTY à AZERTY

Par défaut, le clavier du Raspberry Pi est en QWERTY.
Si on ne se connecter qu’en SSH, ça sert à rien vous me direz.
Eh ben si on se trompe dans sa configuration réseau, ça peut servir !

Dans raspi-config :

  1. Sélectionner « 4 Localisation Options »
  2. Puis « I3 Change Keyboard Layout »
  3. Garder « PC générique 105 touches (intl) » et valider
  4. Sélectionner « Autre » et valider
  5. Chercher « Français » et valider
  6. Sélectionner « Français » dans la disposition du clavier et valider
  7. Garder « Disposition par défaut pour le clavier » et valider
  8. Garder « Pas de touche « compose » » et valider

Date et heure

Changer le fuseau horaire

Par défaut, le Raspberry Pi fraichement installé est sur le fuseau UTC.

Dans raspi-config :

  1. Sélectionner « 4 Localisation Options »
  2. Puis « I2 Change Timezone »
  3. Dans la liste, sélectionner « Europe », puis « Paris ».
  4. Valider.

La commande « Debian-Like » est :

Changer la date et l’heure

2 façon de remédier à ça.

  • Via raspi-config, le plus rapide mais pas le plus pérenne en cas d’arrêt prolongé du Raspberry Pi.
  • Installer un client NTP (Network Time Protocol) qui se chargera de le faire à intervalle régulier et au démarrage.

Pour être toujours à l’heure, j’utilise toujours un serveur ntp :

Installation :

Et c’est tout. La configuration se fait dans le fichier /etc/ntp.conf.
Par défaut, c’est plutôt correct alors j’y touche pas.

Récupérer un max de mémoire vive

Par défaut, 64Mo de la mémoire vive est allouée au GPU, le processeur graphique.
Hors, dans ce mémo, je configure un serveur sans écran.

Dans raspi-config :

  1. Sélectionner « 7 Advanced Options »
  2. Puis « A3 Memory Split »
  3. Supprimer « 64 » et saisir « 16 »
  4. Valider
  5. Sortir de raspi-config et confirmer le reboot.

Avant :

Après :

Mise à jour

Exécuter une mise à jour de Raspbian :

Valider si des mises à jour sont disponibles.

Sécuriser (un peu) l’accès SSH

Les actions suivantes vont modifier le fichier « /etc/ssh/sshd_config ».
Il est recommander d’en faire une copie avant :

Changer le port par défaut

Éditer le fichier « /etc/ssh/sshd_config ».

Rechercher la ligne « #Port 22 » et dupliquer là vers « Port 11022 » ou un autre port non utilisé.
Les plus communs sont listés sur Wikipedia.org.

Pour une prise en charge immédiate :

La connexion se fera dorénavant avec cette commande :

Remplacez user et l’adresse ip par vos paramètres.

Désactiver l’accès root

Toujours dans le fichier « /etc/ssh/sshd_config ».

Rechercher le pavé :

et ajouter cette ligne sous « #PermitRootLogin prohibit-password » :

Relancer le service SSH :

Ne plus se connecter avec l’utilisateur « pi »

Et oui, c’est assez dangereux de laisser l’utilisateur par défaut qui peut être utilisé pour se connecter au système.
Donc il faut créer un nouvel utilisateur qui aura le droit de se connecter en SSH et désactiver l’accès SSH à l’utilisateur « pi ».

Exemple de création d’un nouvel utilisateur « mignouf » :

Par défaut, le nouvel utilisateur fait parti de son propre groupe.

L’utilisateur pi quand à lui fait parti par défaut de ces groupes :

(Sauf sudo si vous l’avez enlever au début de ce mémo)

Donnons les mêmes droits au nouvel utilisateur :

(Sauf sudo si vous avez décidé de vous connecter avec root)

Se déconnecter du root puis du SSH avec « Ctrl+d » 2 fois.
Puis se connecter avec le nouvel utilisateur :

Supprimer pi du groupe sudo :

La commande « deluser » ne supprime pas un utilisateur, mais retire un utilisateur d’un groupe.

Connexion par clé (et plus par mot de passe)

Sur le client, récupérer la clé publique.
Par défaut sous Linux, elle se trouve dans le répertoire de l’utilisateur : ~/.ssh/id_rsa.pub
Mais elle peut porter un autre nom.
Ne pas confondre avec ~/.ssh/id_rsa qui est la clé privée et qui doit rester privée !!

Si vous devez gérer plusieurs serveurs distants, jetez un œil sur mon (vieux) mémo : « Debian – SSH et authentification par clé« .

Sur le Rapsberry Pi, dans le répertoire de l’utilisateur qui permet la connexion ssh.

  1. Créer s’il n’existe pas le répertoire ~/.ssh :
  1. Dans ce répertoire, créer un fichier ~/.ssh/authorized_keys
  2. Dans ce fichier, coller la clé publique du client.
  3. Enregistrer et fermer le fichier.
  4. Donner les droits d’accès 600 à ~/.ssh/authorized_keys (sinon, il n’est pas considéré comme fichier sûr et sera ignoré)
Tester la connexion qui devrait se faire sans saisir le mot de passe.

Désactiver le matériel inutile

Suivant le besoin, il est nécessaire de désactiver ce qui n’est pas utile.
Cela permet d’éviter de surcharger le mémoire de drivers inutiles et accessoirement améliore la sécurité.

Désactiver le bluetooth

Arrêter et désactiver le service :

Désactiver le bluetooth au niveau hardware :

  1. Éditer le fichier /boot/config.txt
  2. Ajouter en bas :
  1. Enregistrer et relancer le Raspberry Pi.
  2. Vérifier :
Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.