+++ title = "Installer NixOS en SSH" description = "Installer NixOS en SSH sans écran ni clavier" date = 2022-08-24 dateCreated = 2021-08-24 weight = 12 +++ Quick tip avant d'oublier pour installer une de nos machines ThinkCentre via SSH sous NixOS ; c'est la seule solution quand on a pas d'écran ni de clavier sous la main. Pré-requis : une clé USB, un ordi sous NixOS. On va créer une image d'installation nous même qui démarre le SSH et configure root avec notre clé. On créer un fichier `iso.nix` : ```nix {config, pkgs, ...}: { imports = [ # Provide an initial copy of the NixOS channel so that the user # doesn't need to run "nix-channel --update" first. ]; systemd.services.sshd.wantedBy = pkgs.lib.mkForce [ "multi-user.target" ]; users.users.root.openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT1+H08FdUSvdPpPKdcafq4+JRHvFVjfvG5Id97LAoROmFRUb/ZOMTLdNuD7FqvW0Da5CPxIMr8ZxfrFLtpGyuG7qdI030iIRZPlKpBh37epZHaV+l9F4ZwJQMIBO9cuyLPXgsyvM/s7tDtrdK1k7JTf2EVvoirrjSzBaMhAnhi7//to8zvujDtgDZzy6aby75bAaDetlYPBq2brWehtrf9yDDG9WAMYJqp//scje/WmhbRR6eSdim1HaUcWk5+4ZPt8sQJcy8iWxQ4jtgjqTvMOe5v8ZPkxJNBine/ZKoJsv7FzKem00xEH7opzktaGukyEqH0VwOwKhmBiqsX2yN quentin@dufour.io" ]; } ``` On construit l'image à partir de ce fichier de conf : ```bash nix-build '' -A config.system.build.isoImage -I nixos-config=iso.nix ``` On le copie sur la clé USB : ``` dd if=result/iso/*.iso of=/dev/??? status=progress sync ``` On branche la clé sur le serveur, on branche le serveur sur le réseau, on démarre le serveur et on surveille le routeur pour connaitre son IP (nom de domaine `nixos`). Ensuite on se connecte dessus : ``` ssh root@192.168.1.X ```