LOG#142026.08.08 à 12:005 min de lecture

De zéro à mon NAS en SSH : mon premier accès sécurisé

Dans le cadre de mes projets, l'utilisation de mon NAS nécessite un accès à distance avec une connexion chiffrée via une ligne de commande textuelle. L'outil qui existe pour cela est un Shell Sécurisé : SSH. Je vais donc me connecter depuis un Sous-système Windows pour Linux : WSL au NAS qui sont sur le même sous réseau.

📚 Sommaire

Les outils

  • Le NAS possède une interface web, avec un système d'exploitation basé sur Linux : DSM pour DiskStation Manager.
  • Sous Windows, j'utilise un terminal sous Visual studio Code avec WSL 2 d'activé.

Notes :
La configuration minimum du PC pour WSL 2 : Mon BIOS est configuré avec la virtualisation matérielle activée (Intel VT-x ou AMD-V). Windows 10 (Version 2004, Build 19041+), suffisament de CPU (Intell / AMd 64bits récent) et de RAM (min 4Go).

Côté NAS : 2 actions utilisateur — Souris (DSM)

Pour le stockage des clés,comment activer le service d'accueil utilisateur ?
Panneau de configuration > Utilisateur et groupe > onglet Avancé > cochez Activer le service d'accueil de l'utilisateur.
Cela activera le Dossier personnel → Crée /var/services/homes/<username> (nécessaire pour ssh-copy-id)

Comment activer le service SSH ?
Panneau de configuration > Terminal et SNMP > onglet Terminal > cochez Activer le service SSH.
Sécurité : Envisager de changer le port par défaut (22) pour un autre numéro.

Côté windows / WSL : Résumé de la procédure

1 – Création de la clé privée SSH stockée sur mon PC avec passphrase pour la protéger — Terminal (WSL)

ssh-keygen -t ed25519 -C "adresse e-mail"
  • ssh-keygen : outil de génération de clés SSH
  • -t ed25519 : type de chiffrement (ed25519 = moderne, rapide, sécurisé)
  • -C "adresse e-mail" : commentaire pour identifier la clé (pas fonctionnel, juste une étiquette)
  • → Génère 2 fichiers : id_ed25519 (clé privée) + id_ed25519.pub (clé publique)
  • → La passphrase vous est demandée pendant la génération (saisie 2 fois) ex: lac-neuchatel-fondue-wsl-2026

Notes sur ed25519 et les mathématiques correspondantes :
Ed : Signifie Edwards-curve Digital Signature Algorithm. C'est un système de cryptographie basé sur les courbes elliptiques.
25519 : Fait référence à la courbe mathématique spécifique utilisée, appelée Curve25519 (article wikipedia)


2 – Copie de la clé publique sur le NAS — Terminal (WSL)

ssh-copy-id -i ~/.ssh/id_ed25519.pub utilisateur@IP_DU_NAS
  • ssh-copy-id : installe la clé publique dans ~/.ssh/authorized_keys du NAS
  • -i ~/.ssh/id_ed25519.pub : chemin de la clé publique à copier
  • utilisateur@IP_DU_NAS : compte + adresse du NAS
    → Le mot de passe du compte NAS est demandé (une seule fois)


3 – Connexion au NAS — Terminal (WSL)

ssh utilisateur@IP_DU_NAS

→ La passphrase de la clé SSH est demandée (pas le mot de passe NAS)


4 – Mémoriser la passphrase — Terminal (WSL)

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
  • ssh-agent : programme qui garde la clé déverrouillée en mémoire
  • ssh-add : charge la clé dans l'agent (passphrase demandée une seule fois)

Essayons-nous à une illustration de conversation via diagramme mermaid

C'est comme une discussion entre 2 développeurs dans un argo typique.
Si cette discussion prête à confusion, c'est en tout cas un sujet de réflexion.

%%{init: {
  "themeVariables": {
    "sequenceNumberColor": "#ffffff",
    "dropShadow": "none",
    "nodeBorder": "#ffffff",
    "actorBkg": "#e1f5fe",
    "actorBorder": "#0288d1",
    "actorTextColor": "#01579b",
    "actorLineColor": "#37474f",
    "signalColor": "#37474f",
    "signalTextColor": "#01579b",
    "labelBoxBkgColor": "#fff3e0",
    "labelBoxBorderColor": "#0288d1",
    "labelTextColor": "#01579b",
    "loopTextColor": "#01579b",
    "noteBkgColor": "#fff3f1",
    "noteBorderColor": "#ffffff",
    "noteTextColor": "#37474f",
    "activationBkgColor": "#fff3e0",
    "activationBorderColor": "#0288d1"
  },
  "sequence": {
    "boxMargin": 20,
    "boxTextMargin": 15,
    "actorMargin": 110
  }
}}%%
sequenceDiagram
    autonumber
    box Environnement Windows
        actor Charlie as Charlie (WSL 2)
    end
    box Environnement NAS
        actor Sasha as Sasha (Synology DSM)
    end

    Charlie->>Sasha: T'as oublié la passphrase Ed25519 pour le SSH vers le NAS ?
    Note over Sasha: Vérification de l'agent SSH
    Sasha-->>Charlie: Non, mais le DSM refuse le handshake (SSHD port non-standard ?)
    Charlie->>Sasha: Check le pare-feu, ou va sur l'UI DSM voir le CPU/RAM (OOM-killer ?)
    Note over Sasha: Analyse des ressources système
    Sasha-->>Charlie: Ça marche. Si besoin, reboot via le BIOS pour check la virtualisation.



Les 2 "mots de passe" en jeu

Type Quand
Passphrase Côté WSL, protège la clé privée À chaque connexion (ou une fois si ssh-agent)
Mot de passe NAS Côté NAS, compte utilisateur Une seule fois, lors du ssh-copy-id

Lexique des acronymes

Acronyme Signification en anglais Traduction / Signification en français
SSH Secure Shell Enveloppe Sécurisée (Accès et contrôle à distance chiffré)
WSL Windows Subsystem for Linux Sous-système Windows pour Linux (Faire tourner Linux sous Windows)
DSM DiskStation Manager Système d'exploitation graphique des serveurs NAS Synology
NAS Network Attached Storage Serveur de stockage en réseau (Votre cloud privé à la maison)
Ed25519 Edwards-curve Digital Signature Algorithm 25519 Algorithme moderne de cryptographie pour créer des clés SSH ultra-sécurisées
BIOS Basic Input Output System Système élémentaire d'entrée/sortie (Programme qui démarre le PC et gère la virtualisation)
RAM Random Access Memory Mémoire vive (Mémoire de travail rapide et temporaire du PC)
CPU Central Processing Unit Processeur central (Le cerveau de l'ordinateur qui exécute les calculs)

#User