Recherche de site Web

Comment installer openSSH sur NixOS


Dans ce court tutoriel, nous vous guiderons à travers les étapes pour installer openSSH sur NixOS. Contrairement aux systèmes Linux traditionnels (comme Debian ou RHEL), configurer openSSH sur NixOS est complètement différent. Mais ce n'est pas si difficile.

Introduction

L'installation de SSH et l'activation du service sshd dans NixOS suivent une approche différente par rapport aux distributions Linux traditionnelles en raison du système unique de gestion des paquets et de l'infrastructure immuable de NixOS.

Dans les distributions Linux traditionnelles comme Debian ou RHEL, vous utiliseriez typiquement des gestionnaires de paquets comme apt ou dnf pour installer des paquets à partir de dépôts centralisés. Ces gestionnaires de paquets résolvent les dépendances et installent les paquets ainsi que leurs dépendances sur le système en cours d'exécution.

Cependant, dans NixOS, la gestion des paquets est plus déclarative et atomique. Au lieu d'installer directement des paquets sur le système en fonctionnement, NixOS construit une nouvelle configuration à partir des paquets spécifiés et de leurs dépendances dans un environnement isolé. Cette nouvelle configuration est ensuite activée, rendant effectivement tout le système d'exploitation immuable.

Les principales raisons de cette approche différente dans NixOS sont :

  1. Reproductibilité : NixOS vise à fournir un moyen reproductible et fiable de construire l'ensemble du système à partir du code source. La même configuration produira un système identique, quel que soit l'ordinateur sur lequel elle est construite.
  2. Mises à niveau et retours en arrière atomiques : En construisant une nouvelle configuration au lieu de modifier le système en cours d'exécution, NixOS permet des mises à niveau et des retours en arrière atomiques. Si une mise à niveau échoue ou introduit des problèmes, vous pouvez facilement revenir à la configuration précédente.
  3. Éviter l'enfer des dépendances : La gestion des paquets de NixOS résout les dépendances d'une manière qui évite les conflits entre les paquets nécessitant différentes versions de la même dépendance.
  4. Configuration déclarative : NixOS encourage une approche déclarative de la configuration du système, dans laquelle l'état souhaité du système est décrit dans un seul fichier de configuration (/etc/nixos/configuration.nix).

Installer openSSH sur NixOS

Pour installer OpenSSH sur NixOS, vous devez l'ajouter à votre configuration système, puis reconstruire le système.

1. Modifiez votre fichier configuration.nix en utilisant votre éditeur de texte préféré :

$ sudo nano /etc/nixos/configuration.nix

2. Trouvez et décommentez la ligne suivante. Si elle n'existe pas, ajoutez-la simplement.

{
[...]

  # Enable OpenSSH daemon
   services.openssh.enable = true;

  [...]
}

Activer openSSH dans le fichier de configuration de NixOS

Optionnellement, vous pouvez ajouter les lignes suivantes. N'oubliez pas de décommenter votre paramètre préféré.

# Optional: Customize OpenSSH configuration
# services.openssh.permitRootLogin = "no";
# services.openssh.passwordAuthentication = true;
# services.openssh.port = 22;
# services.openssh.protocol = "2";

Enregistrez les modifications et quittez l'éditeur de texte.

3. Reconstruisez la configuration de votre système NixOS :

$ sudo nixos-rebuild switch

Cette commande reconstruira votre système NixOS avec les modifications que vous avez apportées dans le fichier configuration.nix.

4. Une fois le processus de reconstruction terminé, OpenSSH devrait être installé et en cours d'exécution sur votre système NixOS.

Installer openSSH sur NixOS

5. Vérifions l'état du service openSSH en utilisant la commande :

$ sudo systemctl sshd status

Exemple de sortie:

Vérifier l'état du service sshd

Oui, le service sshd est activé et en cours d'exécution !

6. Vous pouvez ensuite vous y connecter en utilisant un client SSH.

Par exemple, je me suis connecté à NixOS via SSH depuis mon système Debian en utilisant la commande :

$ ssh ostechnix@192.168.1.23

Ici, ostechnix est le nom d'utilisateur et 192.168.1.23 est l'adresse IP de mon système NixOS.

Il vous demandera de saisir le mot de passe de votre utilisateur NixOS. C'est tout. Commencez à utiliser votre NixOS.

Vérifier la version de NixOS

Vérifiez si vous êtes réellement connecté à NixOS en vérifiant sa version. Pour vérifier la version de NixOS installée, exécutez la commande suivante depuis votre Terminal :

$ nixos-version

Cette commande affichera les informations sur la version de NixOS, y compris la version de publication de NixOS, le nom de code et le hachage de révision Git.

Exemple de sortie :

23.11.5541.56528ee42526 (Tapir)

Se connecter en SSH à NixOS

Dans cet exemple, la version de NixOS est 23.11 (la version de sortie), 5541.56528ee42526 est le hash de révision Git, et Tapir est le nom de code de cette version.

Conclusion

Dans cet article, nous avons expliqué comment installer et configurer openSSH sur NixOS. Bien que l'approche NixOS puisse sembler plus complexe au départ, elle offre des avantages en termes de fiabilité, de reproductibilité et d'intégrité du système.

Lecture Connexe:

  • Nix – Un Gestionnaire de Paquets Puissant pour Linux et Unix
  • Commencer avec le gestionnaire de paquets Nix