main
nix-on-droid (téléphone de Marc)
Config Nix-on-Droid du téléphone : sshd local + tunnel inverse vers le VPS (rack),
modèle tmate : le tel sort tout seul, aucun port ouvert, aucun tiers.
Contenu
flake.nix: entréenixOnDroidConfigurations.phone(nixpkgsnixos-24.05, nix-on-droidrelease-24.05).nix-on-droid.nix:- sshd local (port 8023, clé
hermes@towerautorisée, sftp activé) ; phone-tunnel-loop: bouclessh -R 127.0.0.1:2224:127.0.0.1:8023 root@marcpartensky.com(relais VPS) ;phone-up: démarrage idempotent (sshd, tunnel, wake-lock), appelé à chaque session ;phone-status: état sshd/tunnel + logs.
- sshd local (port 8023, clé
- La clé privée du tunnel vit uniquement sur le téléphone (
~/.ssh/relay_ed25519), jamais dans ce dépôt.
Installation / mise à jour (sur le téléphone)
nix-on-droid switch --flake git+https://git.marcpartensky.com/mazex/nix-on-droid#phone
git est installé par cette config car le fetcher nix l'exige pour les refs git+.
S'il manque (executing 'git': No such file or directory), passer par l'archive, qui n'a pas besoin de git :
nix flake prefetch 'tarball+https://git.marcpartensky.com/mazex/nix-on-droid/archive/main.tar.gz'
nix-on-droid switch --flake 'tarball+https://git.marcpartensky.com/mazex/nix-on-droid/archive/main.tar.gz?narHash=<sha256-...>#phone'
Côté relais (VPS rack)
Dans /root/.ssh/authorized_keys, une seule entrée restreinte :
command="false",restrict,port-forwarding,permitlisten="127.0.0.1:2224" ssh-ed25519 AAAA... phone-relay
Depuis une machine du réseau : ssh phone (défini avec ProxyJump rack, port 2224,
utilisateur nix-on-droid), ou à la main :
ssh -J root@marcpartensky.com -p 2224 nix-on-droid@127.0.0.1
Rotation de la clé
Générer une nouvelle paire ed25519, remplacer l'entrée phone-relay sur le VPS,
puis remplacer ~/.ssh/relay_ed25519 sur le téléphone (et relancer phone-up).
Description
Nix-on-Droid config for Marc's phone: sshd + reverse tunnel to the VPS relay
56 KiB
Languages
Nix
100%