Post

Dell Latitude E6230 - CachyOS EXT4 chiffré LUKS

Dell Latitude E6230 - CachyOS EXT4 chiffré LUKS

CachyOS, une distribution Linux relativement nouvelle, vise à offrir des performances élevées et une expérience utilisateur fluide.

CachyOS

Exigences du système

Avant de commencer avec les préparatifs d’installation, assurez-vous que l’ordinateur utilisé répond aux exigences du système nécessaire pour exécuter CachyOS. L’installateur utilise un processus d’installation en ligne de sorte qu’une connexion Internet stable et relativement rapide est obligatoire.

Caractéristiques minimales recommandées

  • 8 Go RAM
  • 50 Go d’espace de stockage (SSD/NVMe)
  • CPU capable de x86-64-v3
  • 50 Mbps ou une meilleure vitesse Internet
  • NVIDIA GPU (900+ - par exemple: GTX 950), AMD +GCN 1.0 (par exemple: AMD R7 240) ou Intel (série intégrée HD Graphics ou plus). Série Arc)

x86_64 Microarchitecture Level Support

  • x86_64-v3 Compatible CPUs * Intel * Haswell and later generations (e.g., Broadwell, Skylake, Coffee Lake, etc) * AMD * Ryzen Series
  • x86_64-v4 Compatible CPUs * Intel * Knights Landing (Xeon Phi x200), Knights Mill (Xeon Phi x205), Skylake-SP, Skylake-X, Cannon Lake, Cascade Lake, Cooper Lake, Ice Lake, Rocket Lake, Tiger Lake and Sapphire Rapids * AMD * Zen4+ CPUs

Gestionnaires de démarrage proposés

Pour offrir la meilleure expérience sur une gamme d’appareils, CachyOS propose actuellement les gestionnaires de démarrage suivants : systemd-boot, rEFInd, GRUB et Limine. Cet article wiki décrira le jeu de fonctionnalités de chaque gestionnaire de démarrage et inclut également nos recommandations pour lors de leur choix. Pour la configuration, veuillez consulter Boot Manager Configuration.

systemd-boot

Une partie de la famille systemd, systemd-boot a été créée pour être aussi simple que possible, donc il n’a de soutien que pour les systèmes basés sur l’UEFI. Cette conception simple et efficace garantit sa fiabilité et sa rapidité. Cependant, cela se fait au prix de fonctionnalités avancées prises en charge par d’autres gestionnaires de boot.

Pour

  • Configuration très simple.
  • Les entrées de démarrage sont séparées en plusieurs fichiers, ce qui facilite la gestion.

Points négatifs

  • Manque de soutien adéquat pour le BIOS/MBR.
  • Les os très nus conçoivent et manquent de tout type de thème ou de personnalisation.
  • Config n’est pas généré automatiquement à moins que configuré pour le faire. CachyOS inclut systemd-boot manager pour offrir une configuration générée automatiquement.
  • Seulement capable de lire les images de démarrage sur les systèmes de fichiers supportés par EFI (FAT, FAT16, FAT32).
  • Impossible de trouver des images de démarrage sur des partitions autres que les siennes.
  • Ne prend pas en charge correctement les retours instantanés de Btrfs en raison de l’exigence de stocker les images du noyau sur la partition de démarrage plutôt que le système de fichiers racine.

Recommandation

Systemd-boot est le gestionnaire de démarrage recommandé et par défaut pour CachyOS. Choisissez celui-ci si vous n’êtes pas sûr.

GRUB

GRUB est le plus ancien gestionnaire de démarrage disponible. Il a un très grand jeu de fonctionnalités, fonctionne sur presque toutes les machines et est le gestionnaire de démarrage Linux le plus couramment utilisé. Voici une liste de ses principaux avantages et inconvénients.

Pour

  • Capable de lire les images de démarrage de presque tous les systèmes de fichiers Linux disponibles.
  • Largement utilisé et très facile à trouver des informations en ligne.
  • Capable de décrypter les partitions de démarrage chiffrées.
  • Le seul chargeur de démarrage offert lui permettant de démarrer des machines BIOS.
  • Ça semble daté. Cependant a un grand soutien thématique pour compenser.

Points négatifs

  • “Bloated” en raison du besoin de prendre en charge beaucoup plus vieux matériel et nécessitant beaucoup de pilotes de système de fichiers.

Recommandation

  • GRUB est le seul gestionnaire de démarrage qui supporte le cryptage de partition de démarrage (Différence par rapport au chiffrement du disque).

Systèmes de fichiers

CachyOS offre 5 systèmes de fichiers (seulement XFS, BTRFS et EXT4 sont détaillés) pour permettre à l’utilisateur de choisir ce qui correspond le mieux à ses besoins. Voici les avantages, les inconvénients et les recommandations de chaque système de fichiers. Chaque système de fichiers est livré avec ses exigences/utilités préinstallées sur CachyOS.

BTRFS est le système de fichiers par défaut et recommandé pour CachyOS. Choisissez-le si vous n’êtes pas sûr.

XFS

XFS est un système de fichiers de revue créé et développé par Silicon Graphics, Inc. Il a été créé en 1993, porté à Linux en 2001, et est maintenant largement pris en charge par la plupart des distributions Linux.

Pour

  • Fast, XFS a été initialement conçu avec la vitesse et l’évolutivité extrême à l’esprit.
  • Fiable, XFS utilise plusieurs technologies pour prévenir la corruption des données.
  • Résistant à la fragmentation en raison de son étendue et de sa stratégie de répartition retardée.

Points négatifs

  • Il ne peut pas être réduit.

Utilitaire espace utilisateur

Le paquet contenant des outils d’espace utilisateur pour gérer les systèmes de fichiers XFS est xfsprogs.

Recommandation

XFS est le système de fichiers recommandé pour les utilisateurs qui n’ont pas besoin de fonctionnalités avancées et veulent simplement un système de fichiers rapide et fiable.

BTRFS

BTRFS est un système de fichiers moderne copy-on-write(COW) créé en 2007 et déclaré stable dans le noyau linux en 2013. Il est largement soutenu et est principalement connu pour son ensemble de fonctionnalités avancées.

Pour

  • Compression transparente. BTRFS prend en charge la compression transparente des fichiers pour permettre des économies d’espace importantes sans intervention de l’utilisateur. Caché OS est livré avec la compression ZSTD réglée au niveau 3 par défaut.
  • Fonctionnalité d’instantané. BTRFS exploite sa nature COW pour permettre la création d’instantanés de sous-volumes qui prennent très peu d’espace réel.
  • Fonction sous-volume permettant un meilleur contrôle du système de fichiers.
  • Peut grandir ou rétrécir.
  • Très rapide développement.

Points négatifs

  • Il faut parfois défragmenter ou équilibrer.
  • Pire sur les entraînements de rotation en raison de la fragmentation susmentionnée.

Utilitaire espace utilisateur

Btrfs userspace utility package est btrfs-progs

Présentation du sous-volume

CachyOS fournit une mise en page en sous-volume de la boîte pour permettre une fonctionnalité d’instantané facile.

  • Subvol @ = /
  • Subvol @home = /home
  • Subvol @root = /root
  • Subvol @srv = /srv
  • Subvol @cache = /var/cache
  • Subvol @tmp = /var/tmp
  • Subvol @log = /var/log

Recommandation

BTRFS est recommandé pour les utilisateurs qui veulent la fonctionnalité instantané / sauvegarde et la compression transparente.

EXT4

EXT4 (quatrième système de fichiers étendu) est le système de fichiers Linux le plus couramment utilisé. EXT4 a été rendu stable dans le noyau linux en 2008.

Pour

  • Très fréquent permettant un accès facile à de nombreuses ressources.
  • Fiable. EXT4 a fait ses preuves en étant très fiable.
  • Peut grandir ou rétrécir.

Points négatifs

  • Construit sur une ancienne base de code.
  • Manque de nombreuses fonctionnalités avancées que d’autres systèmes de fichiers offrent.

Utilitaires d’espace utilisateur

Le paquet à gérer ext4 est e2fsprogs

Recommandation

EXT4 est recommandé pour les utilisateurs qui veulent le système de fichiers le plus simple et le plus utilisé.

Utilisez le système de fichiers par défaut BTRFS car il est considéré stable et a beaucoup de fonctionnalités soignées (snapshots, compression, etc). Utilisez XFS ou EXT4 pour un système de fichiers simple et rapide.

DELL Latitude e6230

Dell Latitude E6230 Portable Dell Latitude E6230 - matériel , documentation et bios

Création d’une Clé USB bootable CachyOS

Le lecteur USB doit avoir au moins 8 Go d’espace disponible.

Interface de ligne de commande (Linux)
Branchez une clé USB.
Détecter le lecteur USB branché en utilisant la commande suivante: lsblk

1
sdc                    8:32   1   7,5G  0 disk  

Copiez le contenu iso sur le lecteur USB branché en exécutant dansun terminal

1
2
3
4
# Remplacer <usbdrive> avec l'étiquette du lecteur.</usbdrive>
# sudo dd bs=4M if=full_iso_name.iso of=/dev/<usbdrive> status=progress oflag=sync
# Dans notre cas
sudo dd bs=4M if=cachyos-desktop-linux-250713.iso of=/dev/sdc status=progress oflag=sync

Boot USB CachyOS

Brancher la clé USB bootable CachyOS sur le portable DELL
Démarrer le portable DELL et appuyer sur F12 pour sélectionner USB EFI
Lancer CachyOS


Basculer en French sur la page Welcome to CachyOS


Lancer l’installateur

Bootloader: systemd-boot


clavier FR

Effacer le disque, EXT4 et chiffrer le système







Premier démarrage


Saisir la phrase de déchiffrement du disque

Redémarrage

Après le redémarrage, on va paramétrer le portable DELL Latitude e6230

  • Déplacement menu en haut de l’écran
  • Activer Wifi Cudy-1568-5G
  • UFW est le parefeu par défaut

Utilisateur droits sudo

Modifier sudoers pour accès sudo sans mot de passe à l’utilisateur yano

1
2
su               # mot de passe root identique utilisateur
echo "yano     ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/20-yano

Utilitaire yay

base-devel et git sont installés par défaut

Cloner yay

1
2
3
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Vérification: yay --version

Supprimer le dossier yay

1
2
cd ..
sudo rm -r yay

Activation SSH avec clés

Portable DELL Latitude e6230

  1. Lancer et activer le service : sudo systemctl enable sshd --now
  2. Relever l’adresse ip de la machine : ip a 192.168.10.90 dans notre cas
  3. Parefeu ouvrir le port 22/tcp : sudo ufw allow ssh

A - Poste appelant

Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) nommé e6230 pour une liaison SSH avec le portable E6230.

1
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/e6230

Envoyer les clés depuis le poste distant

1
ssh-copy-id -i ~/.ssh/e6230.pub yano@192.168.10.90

Se connecter depuis un poste distant ssh yano@192.168.10.90

B - Dell Latitude e6230
Créer fichier configuration ssh sur le dell e6230 pour le port

1
sudo nano /etc/ssh/sshd_config.d/yano.conf
1
2
Port 56230
PasswordAuthentication	no

IL FAUT ACTIVER LE PORT 56230/tcp sur le PAREFEU UFW !

Ajouter le nouveau port

1
sudo ufw allow 56230/tcp

Redémarrer sshd

1
sudo systemctl restart sshd

Se connecter depuis le poste appelant

1
ssh yano@192.168.10.90 -p 56230 -i /home/yann/.ssh/e6230

Effacer le port 22 des règles UFW

1
ssh yano@192.168.10.90 -p 56230 -i /home/yann/.ssh/e6230

Créer les dossiers “utilisateur”

Créer les dossiers .keepassx , Notes , scripts statique/images et statique/_posts

1
2
3
4
5
6
7
8
9
mkdir -p ~/{.ssh,.keepassx}
sudo mkdir -p /srv/media/statique/{images,_posts}
sudo chown $USER:$USER -R /srv/media 
mkdir -p /srv/media/Documents/Dossiers-Locaux-Thunderbird
mkdir -p /srv/media/Notes
# Lien media
ln -s /srv/media $HOME/media
# Lien pour affichage des images avec éditeur Retext
sudo ln -s /srv/media/statique/images /images

Souris Bluetooth Pebble

Souris Bluetooth Pebble Mouse 2 M350s
Basculez entre 3 de vos dispositifs d’une simple pression sur le bouton Easy-Switch.
Position 1 pour le portable DELL latitude e6230

Pour effacer une configuration existante de la souris bluetooth , garder enfoncer le bouton Easy-Switch jusqu’au clignotement rapide de la led

Pour ajouter la souris bluetooth au portable DELL, clic droit sur l’icône bluetooth de la barre des tâches, Périphériques puis Rechercher et lorsque l’appareil est détecté , il faut l’appairer

Ecouteurs Soundcore Liberty Air 2


Soundcore Liberty Air 2

Utiliser le gestionnaire bluetooth et la recherche

Lorsque le périphérique est détecté, il faut l’appairer, clic-droit –> Appairer
Après appairage

Pour que le périphèrique fonctionne correctement, il est IMPERATIF de redémarrer la machine

Après redémarrage, il faut séléctionner le profil audio

Client Nextcloud

Installation client nextcloud

1
yay -S nextcloud-client 

Démarrer le client nextcloud , après avoir renseigné l’url https://cloud.rnmkcy.eu ,login et mot de passe pour la connexion

Trousseau de clé avec mot de passe idem connexion utilisateur

Paramétrage

  • Menu → Lancer Client de synchronisation nextcloud
  • Adresse du serveur : https://cloud.xoyaz.xyz
    Se connecter avec un mot de passe application nextcloud “Synchro DELL e6230”
  • Nom d’utilisateur : yann
  • Mot de passe : xxxxx

    Puis saisir l’adresse : https://cloud.rnmkcy.eu
    Le nagigateur s’ouvre sur l’adresse saisie


  • Sauter les dossiers à synchroniser, Ignorer la configuration des dossiers
  • Trousseau de clés = mot de passe connexion utilisateur
  • Paramètres nextcloud

Ajouter les synchros .ssh et .borg

KeePassXC - Gestion des mots de passe


On utilise une clé matérielle pour déverrouiller la base de mot de passe

La clé matériel utilisée pour la connexion doit être insérée

Installer le gestionnaire de mot de passe keepassxc

1
yay -S keepassxc

Ouvrir “KeePassXC” –> Affichage
Affichage → Thème : Sombre
Affichage → Mode compact , un redémarrage de l’application est nécessaire

Ajouter aux favoris “KeePassXC” et ouvrir l’application

Base de données –> Ouvrir une base de données (afficher les fichiers cachés) : ~/.keepassx/yannick_xc.kdbx –> Ouvrir

Intégration navigateur

Navigateur LibreWolf

Autoriser l’accès dans l’application keepassxc

Outils Applications Alias

Installation des outils

1
2
# qrencode zbar android-tools jq , installés par défaut
yay -S figlet tmux retext bluefish terminator filezilla borg yt-dlp xclip nmap tree signal-desktop minicom 

minicom
Paramétrage de l’application terminale

1
 sudo minicom -s

Seul les paramètres à modifier sont cités

Configuration du port série

A - Port série : /dev/ttyUSB0
F - Contrôle de flux matériel : Non

Echap
Enregistrer config. sous dfl

Sortir de Minicom

scrpy émulation android
Utilise adb et le port USB

1
yay -S scrcpy

Les icônes pour lancer l’application sont générés à l’installation

motd

1
sudo nano /etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 ____       _ _         __  ____  _____  ___                 
|  _ \  ___| | |   ___ / /_|___ \|___ / / _ \                
| | | |/ _ \ | |  / _ \ '_ \ __) | |_ \| | | |               
| |_| |  __/ | | |  __/ (_) / __/ ___) | |_| |               
|____/ \___|_|_|  \___|\___/_____|____/ \___/                
  ____           _            ___  ____                      
 / ___|__ _  ___| |__  _   _ / _ \/ ___|                     
| |   / _` |/ __| '_ \| | | | | | \___ \                     
| |__| (_| | (__| | | | |_| | |_| |___) |                    
 \____\__,_|\___|_| |_|\__, |\___/|____/                     
  ____ _     _  __  __ |___/ __   _    _   _ _  ______ ____  
 / ___| |__ (_)/ _|/ _|_ __ /_/  | |  | | | | |/ / ___|___ \ 
| |   | '_ \| | |_| |_| '__/ _ \ | |  | | | | ' /\___ \ __) |
| |___| | | | |  _|  _| | |  __/ | |__| |_| | . \ ___) / __/ 
 \____|_| |_|_|_| |_| |_|  \___| |_____\___/|_|\_\____/_____|

**Historique de la ligne de commande **
Ajoutez la recherche d’historique de la ligne de commande au terminal
Se connecter en utilisateur
Tapez un début de commande précédent, puis utilisez shift + up (flèche haut) pour rechercher l’historique filtré avec le début de la commande.

1
2
3
# Global, tout utilisateur
echo '"\e[1;2A": history-search-backward' | sudo tee -a /etc/inputrc
echo '"\e[1;2B": history-search-forward' | sudo tee -a /etc/inputrc

KDE Plasma

Krusader est un gestionnaire de fichiers à double panneau avancé (style commandant) pour KDE Plasma et d’autres bureaux dans le monde *nix, similaire à Midnight ou Total Commander.
yay -S krusader

Kfind - Recherche avancée
yay -S kfind

Alias (.bashrc)
Le fichier avec ses alias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

alias ls='ls --color=auto'
alias grep='grep --color=auto'
PS1='[\u@\h \W]\$ '

#alias borglist='$HOME/scripts/borglist.sh'
#alias etat='$HOME/scripts/etat_des_lieux_PC1.sh  > /mnt/sharenfs/rnmkcy/site/etat_pc1.txt'
#alias sshm='$HOME/scripts/ssh-manager.sh'
#alias ssl='$HOME/scripts/ssl-cert-check -f $HOME/scripts/ssldomains'alias ipleak='curl https://ipv4.ipleak.net/json/'
alias journal='sudo SYSTEMD_LESS=FRXMK journalctl'
alias nmapl='echo "sudo nmap -T4 -sP 192.168.0.0/24" && sudo nmap -T4 -sP 192.168.0.0/24'
alias nmap10='echo "sudo nmap -T4 -sP 192.168.10.0/24" && sudo nmap -T4 -sP 192.168.10.0/24'
alias orphelin='sudo pacman -Rsn $(pacman -Qdtq)'
alias service='systemctl --type=service'

Réactiver

1
source .bashrc

Déchiffrement par clé matérielle

Le déverrouillage se fait par saisie d’une phrase mot de passe, on peut ajouter des clés FIDO2 pour un déchiffrement sans mot de passe (Using FIDO2 keys to unlock LUKS on EndeavourOS)

Prérequis

Installer librairie libfido2 pour la prise en charge des clés Yubico et SoloKeys

1
sudo pacman -S libfido2

Vérifier que le disque chiffré est /dev/sda2 : lsblk

1
2
3
4
5
NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                                             8:0    0 447,1G  0 disk  
├─sda1                                          8:1    0     1G  0 part  /efi
└─sda2                                          8:2    0 446,1G  0 part  
  └─luks-d603c182-2d04-4a31-bde6-512ac2d18e7b 254:0    0 446,1G  0 crypt /

Vérifier que le chiffrement est luks2 : sudo cryptsetup luksDump /dev/sda2

1
2
3
LUKS header information
Version:       	2
[...]

systemd-cryptenroll
systemd-cryptenroll est un outil permettant d’enregistrer des jetons de sécurité matériels et des périphériques dans un volume crypté LUKS2, qui peuvent ensuite être utilisés pour déverrouiller le volume pendant le démarrage.
systemd-cryptenroll permet d’enregistrer des cartes à puce, des jetons FIDO2 et des puces de sécurité Trusted Platform Module dans des périphériques LUKS, ainsi que des phrases de passe ordinaires. Ces périphériques sont ensuite déverrouillés par systemd-cryptsetup@.service à l’aide des jetons enregistrés.

Enroler clé USB FIDO2 YubiKey 5 NFC

Vérifier que la YubiKey est insérée dans un port USB

Lister la yubikey

1
sudo systemd-cryptenroll --fido2-device=list
1
2
PATH         MANUFACTURER PRODUCT              
/dev/hidraw4 Yubico       YubiKey OTP+FIDO+CCID

Activer la clé pour le déverrouillage disque chiffré /dev/sda2 Insére la clé dnas un port USB et lancer la commande suivante

1
sudo systemd-cryptenroll --fido2-device=auto /dev/sda2
  1. IL faut déverrouiller la partition /dev/sda2 avec la phrase mot de passe
  2. Puis valider la clé en appuyant sur la partie tactile de cette clé et confirmer pa la même opération
1
2
3
4
5
6
7
🔐 Please enter current passphrase for disk /dev/sda2: *********************   
Requested to lock with PIN, but FIDO2 device /dev/hidraw4 does not support it, disabling.
Initializing FIDO2 credential on security token.
👆 (Hint: This might require confirmation of user presence on security token.)
Generating secret key on FIDO2 security token.
👆 In order to allow secret key generation, please confirm presence on security token.
New FIDO2 token enrolled as key slot 1.

Le Y de la clé se met à clignoter , il suffit de poser son doigt sur l’emplacement du Y pour le déverrouillage

Si vous avez plusieurs clés répéter l’opération Activer la clé pour le déverrouillage disque chiffré /dev/sda2

systemd-cryptenroll peut lister les keyslots d’un périphérique LUKS, de manière similaire à cryptsetup luksDump, mais dans un format plus convivial.

1
sudo systemd-cryptenroll /dev/sda2

Résultat pour disque déchiffrable avec une phrase et 3 clés FIDO2

1
2
3
4
5
SLOT TYPE    
   0 password
   1 fido2
   2 fido2
   3 fido2

Détails

  • 0 phrase mot de passe
  • 1 fido2 yubikey “24 554 586”
  • 2 fido2 yubikey “29 085 988”
  • 3 fido2 yubikey “24 554 581”

Prise en charge FIDO2 (crypttab)

Le fichier /etc/crypttab contient la liste des périphériques à déverrouiller automatiquement.
Chaque ligne du fichier crypttab est de la forme :
<target name> <source device> <key file> <options>

  • <target name> : Nom à donner au mappage (/dev/mapper/name), dans le cas présent “secret”
  • <source device> : l’identifiant du container luks, sous la forme UUID=
  • <key file> : chemin absolu vers le ficher de phrase de passe. Si le déverrouillage doit s’effectuer par saisie d’un mot de passe, indiquer “none”
  • <options> : liste d’options séparées par des virgules, par exemple luks, discard pour un chiffrage luks et autoriser l’utilisation de la commane fstrim ou discard au niveau du container. L’option keyscript= donne la possibilité d’exécuter un script ou une commande avec le chemin vers le fichier de passe de phrase (paramètre password précédent) fourni comme argument.

/etc/crypttab avant modification

1
2
# <name>               <device>                         <password> <options>
luks-17xxxxxxxxxxxxxxx7e1 UUID=17xxxxxxxxxxxxxxxxx7e1     none      luks

Modifier /etc/crypttab pour la prise en chrrge FIDO2 en ajoutant - fido2-device=auto

1
sudo nano /etc/crypttab

Les colonnes password et option: none est remplacée par - fido2-device=auto

1
2
3
# <name>                  <device>                 <password> <options>
luks-17xxxxxxxxxxxxxxx7e1 UUID=17xxxxxxxxxxxxxxx7e1    -      fido2-device=auto

Sauvegarder et quitter.

Réinitialiser le noyau

1
sudo mkinitcpio -P

Redémarrer la machine

BorgBackup


Borg - Laptop Dell e6230

Le dossier ~/Private/.borg contient les variables

Résumé des opérations

1 - Créer un jeu de clés SSH pour l’authentification borg (en mode su)

1
2
3
4
5
sudo ssh-keygen -t ed25519 -f /root/.ssh/id_borg_ed25519
# ajout clé privée
sudo cat /root/.ssh/id_borg_ed25519 > /home/yano/Private/.borg/e6230.borgssh
# Copier la clé publique
sudo cat /root/.ssh/id_borg_ed25519.pub

2 - Ajouter clé publique /root/.ssh/id_borg_ed25519.pub au fichier authorized_keys de la boîte de stockage (Modifier authorized_keys boîte stockage)

Poste linux PC1

1
2
3
4
5
6
# sur un poste autorisé, on récupère fichier des clés autorisées de la box --> storagebox_authorized_keys
echo -e "get .ssh/authorized_keys storagebox_authorized_keys" | sftp -P 23 -i ~/.ssh/bx11-yann-ed25519 u326239@u326239.your-storagebox.de
# ajout clé  publique
echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFgvVfk+I9/Qt9ErnkrRLznauR0sHt4Gom8uBLtH06Qa root@e6230' >> storagebox_authorized_keys
# renvoyer le fichier des clés autorisées vers la box
echo -e "put storagebox_authorized_keys .ssh/authorized_keys" | sftp -P 23 -i ~/.ssh/bx11-yann-ed25519 u326239@u326239.your-storagebox.de

3 - Tester la connexion ssh à la boite de stockage en mode su

DELL Latitude e6230

1
sftp -P 23 -i /root/.ssh/id_borg_ed25519 u326239@u326239.your-storagebox.de

4 - Créer le dossier .borg en mode su: sudo -s

1
2
3
4
5
mkdir -p /root/.borg
# phrase dépôt borg
cat /home/yano/Private/.borg/e6230.passphrase > /root/.borg/e6230.passphrase
# ajout dépôt
cat /home/yano/Private/.borg/e6230.repository > /root/.borg/e6230.repository

Initialisation dépôt distant

1
2
3
4
export BORG_PASSPHRASE="$(cat /root/.borg/e6230.passphrase)"
export BORG_RSH='ssh -i /root/.ssh/id_borg_ed25519'
export BORG_REPOSITORY=$(cat /root/.borg/e6230.repository)
borg init --encryption=repokey $BORG_REPOSITORY

Le résultat de la commande

1
2
3
4
5
6
7
8
9
10
11
12
IMPORTANT: you will need both KEY AND PASSPHRASE to access this repo!

Key storage location depends on the mode:
- repokey modes: key is stored in the repository directory.
- keyfile modes: key is stored in the home directory of this user.

For any mode, you should:
1. Export the borg key and store the result at a safe place:
   borg key export           REPOSITORY encrypted-key-backup
   borg key export --paper   REPOSITORY encrypted-key-backup.txt
   borg key export --qr/ REPOSITORY encrypted-key-backup/
2. Write down the borg key passphrase and store it at safe place.

Affichage de messages d'alerte sur les connexions ssh à la box hetzner `u326239.your-storagebox.de`

1
2
3
Remote: ** WARNING: connection is not using a post-quantum key exchange algorithm.
Remote: ** This session may be vulnerable to "store now, decrypt later" attacks.
Remote: ** The server may need to be upgraded. See https://openssh.com/pq.html

Il faut créer, en mode su, un fichier SSH client hetzner-box.conf pour désactiver les messages et relancer le service sshd

1
2
3
4
5
6
# en mode su
echo "Match host u326239.your-storagebox.de
    WarnWeakCrypto no
" > /etc/ssh/ssh_config.d/hetzner-box.conf
# Redémarrer le service SSH
systemctl restart sshd

Le fichier d’exclusion sudo cp /home/yano/Private/.borg/e6230.exclusions /root/.borg/e6230.exclusions

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/proc
/sys
/dev
/media
/mnt
/cdrom
/tmp
/run
/var/tmp
/var/run
/var/cache
lost+found
/home/yano/.cache
/home/yano/.keepassx
/home/yano/Téléchargements
/home/yano/Musique
/home/yano/Vidéos
/home/yano/media
/home/yano/scripts
/home/yano/sharenfs

Créer le bash /root/.borg/borg-backup.sh et le rendre exécutable chmod +x

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/sh
#
# Script de sauvegarde.
#
# Envoie les sauvegardes sur un serveur distant, via le programme Borg.
# Les sauvegardes sont chiffrées
#

flag="/var/tmp/$(basename -- $0).flag"
if [ -e "$flag" ] ;then
echo "flag : $flag"
  if [ "$(date +%F)" == "$(date +%F -r $flag)" ]; then
   # script déjà exécuté 1 fois aujourd'hui, on sort
   echo "script $0 déjà exécuté ce jour($(date +%F))"
   echo "script $0 déjà exécuté ce jour($(date +%F))" | systemd-cat -t sauvegardes -p info
	# Envoi notification
	# DISPLAY=:0 notify-send "$0" "déjà exécuté ce jour\n($flag)" -i /root/.borg/information.png -t 10000
    curl \
    -H "X-Email: ntfy@cinay.eu" \
    -H "Title: DELL e6230 $0" \
    -H "Authorization: Bearer tk_xxxxxxxxxxxxxxxxxxxxxxxx" \
    -H prio:low \
    -H tags:information_source \
    -d "déjà exécuté ce jour ($flag)" \
    https://noti.rnmkcy.eu/yan_infos

   exit 0
  fi

fi

touch $flag

set -e
 
LOG_PATH=/var/log/borg-backup.log
 
export BORG_PASSPHRASE=$(cat /root/.borg/e6230.passphrase)
export BORG_RSH='ssh -i /root/.ssh/id_borg_ed25519'
export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes
BACKUP_DATE=`date +%Y-%m-%d-%Hh%M`
BORG_REPOSITORY=$(cat /root/.borg/e6230.repository)

borg create \
-v --progress --stats \
--exclude-from /root/.borg/e6230.exclusions \
${BORG_REPOSITORY}::${BACKUP_DATE} \
/ \
>> ${LOG_PATH} 2>&1
 
# Nettoyage des anciens backups
# On conserve
# - une archive par jour les 7 derniers jours,
# - une archive par semaine pour les 4 dernières semaines,
# - une archive par mois pour les 6 derniers mois.
 
borg prune \
-v --list --stats --keep-daily=7 --keep-weekly=4 --keep-monthly=6 \
$BORG_REPOSITORY \
>> ${LOG_PATH} 2>&1

    curl \
    -H "X-Email: ntfy@cinay.eu" \
    -H "Title: DELL e6230 $0" \
    -H "Authorization: Bearer tk_xxxxxxxxxxxxxxxxxxxxxxxx" \
    -H prio:low \
    -H tags:information_source \
    -d "Fin sauvegarde borgbackup" \
    https://noti.rnmkcy.eu/yan_infos

Lancer la première sauvegarde (en mode su), lancer tmux

1
2
3
4
# exécuter script borgbackup
/root/.borg/borg-backup.sh
# sortie tmux : ctrl+b puis d
# retour tmux : tmux a

Lister les sauvegardes borgbackup /home/yano/borg-e6230.sh

1
2
3
4
5
6
7
8
9
#!/bin/bash

echo "Liste des sauvegardes borgbackup"
export BORG_RSH='ssh -i /home/yano/Private/.borg/e6230.borgssh'
export BORG_PASSPHRASE="$(cat /home/yano/Private/.borg/e6230.passphrase)"
export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes
echo "borg list --short $(cat /home/yano/Private/.borg/e6230.repository)"
echo "Veuillez patitenter quelques instants..."
borg list --short "$(cat /home/yano/Private/.borg/e6230.repository)"

Le rendre exécutable: chmod +x ~/borg-e6230.sh puis exécution ./borg-e6230.sh
Résultat

1
2
3
4
Liste des sauvegardes borgbackup
borg list --short ssh://u326239@u326239.your-storagebox.de:23/./backup/borg/e6230
Veuillez patitenter quelques instants...
2025-07-21-17h11

Exécution script sauvegarde borg au boot après 3 min /etc/systemd/system/run-script-with-delay.service et /etc/systemd/system/run-script-with-delay.timer
Exécution script au boot après 3 min

Nebula + Partage NFS

Nebula

cwwk debian 13
Réseau privé Nebula IP: 10.55.22.20

Partage NFS

Partage du dossier /sharenfs de la machine cwwk IP 10.55.22.10

Le paquet nf-utils est installé par défaut sur les machines de type archlinux, EndeavourOS, CachyOS,

Créer le point de montage

1
2
3
sudo mkdir -p /mnt/sharenfs  
sudo chown $USER:$USER -R /mnt/sharenfs  
ln -s /mnt/sharenfs $HOME/sharenfs

Ajouter le point de montage du serveur nfs cwwk au fichier /etc/fstab

1
2
# Le montage NFS cwwk réseau privé nebula 10.55.22.10 
10.55.22.10:/sharenfs /mnt/sharenfs nfs4 nofail,x-systemd.automount,x-systemd.device-timeout=10s 0 0

Rechargement et montage

1
sudo systemctl daemon-reload && sudo mount -a

Fix systemd ordering cycle with NFS automount, Nebula and local-fs.target

Cet article est sous licence CC BY 4.0 par l'auteur.