Éteindre un serveur à distance
Objectif : éteindre à distance les ordis en local, via une commande sur l'ordiphone. Ceci sans ouvrir de faille de sécurité.
Générer une clé ssh sous Android
Ici l'ordiphone sert de télécommande, il est moins éteint que les autres appareils.
Je tente avec l'application “Termux” (terminal ayant l'outil ssh), dispo sur fdroid.
Il faut y installer le paquet ssh suivant les instructions données dans ce terminal, puis
ssh-keygen -t ed25519
Copiez ensuite la clé publique à un endroit où on peut la récupérer pour la suite.
Compte "dodo" sur le serveur
Créer un user dont la seule fonction sera de pouvoir arrêter l'ordi
useradd dodo -m -U -s /bin/bash
Paramétrer l'user pour qu'il aie le droit d'éteindre
sudo -i sudo visudo #Ajouter la ligne suivante dodo ALL= NOPASSWD: /sbin/shutdown
Mettre la clé ssh pour se connecter à son compte.
mkdir /home/dodo/.ssh nano /home/dodo/.ssh/authorized_keys2
Ajouter la commande idoine au début de la ligne ssh : command=“shutdown -Ph now”
, cela va forcer la mise à l'arrêt dès la connexion ssh de “dodo”.
command="sudo shutdown -Ph now" ssh-ed25519 AAAAC3... dodo@localhost
Puis mettre les droits proprement
chown -R dodo: /home/dodo/.ssh chmod 0700 /home/dodo/.ssh/ chmod 0600 /home/dodo/.ssh/authorized_keys2
Dès la connexion ssh réussi de “dodo”, l'ordinateur s'éteindra.