Problème avec mon ondulateur

Fermé
Tibo - Modifié le 2 févr. 2022 à 16:08
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 2 févr. 2022 à 16:34
Bonjour,

Mon PC est relié à mon onduleur APC, et quand j'éteins mon PC, l'APC s'éteint lui aussi. J'aimerais lui envoyer une commande shell pour lui "dire" de s'éteindre dans au bout d'un certain temps.

Sauriez-vous comment faire ?

2 réponses

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
Modifié le 2 févr. 2022 à 16:35
Bonjour,

En admettant que la machine distance soit joignable par
ssh
, alors tu peux utiliser
ssh
pour transporter une commande vers une machine distance.

Exemple :

ssh user@machine "hostname"


La commande
ssh
demandera le mot de passe de l'utilisateur
user
supposé créé machine
machine
. Il est possible de faire une authentification sûre et transparente à l'aide d'une clé ssh.

La commande
halt
permet d'arrêter un ordinateur, mais nécessite des droits administrateur. Si ssh est bien configuré, l'utilisateur
user
ne peut pas être l'utilisateur
root
car par défaut ssh est configuré pour refuser les authentifications en root.
  • Activer les authentifications root via ssh est dangereux, donc le mieux est sans doute de faire en sorte que
    user
    ait le droit d'exécuter la commande
    halt
    .
  • Une meilleure approche consiste à utiliser
    sudo
    . Sans rentrer dans les détails de
    sudo
    , le plus simple est d'en faire un sudoer (en ajoutant cet utilisateur au groupe
    sudo
    ). Cela permet à
    user
    de lancer des commandes comme s'il était root après avoir saisi son propre mot de passe.


Or le mot de passe demandé par
sudo
doit être saisi au niveau de la machine distante, alors comment faire ?
  • Première méthode, tu peux définir dans
    /etc/sudoers
    (de la machine distante, pour le profil user) la possibilité d'utiliser
    sudo
    sans mot de passe. C'est assez dangereux mais c'est une manière de faire. Mais c'est un choix très discutable en terme de sécurité.
  • Seconde méthode, tu utilises l'option
    -S
    de
    sudo
    pour transporter le mot de passe.


Exemple :

ssh user@machine "sudo -S halt"


Reste à retarder la commande
halt
. Comme évoqué dans cette discussion il existe plusieurs manière de faire, principalement soit en utilisant
sleep
, soit en utilisant
at
.

Exemple :

ssh user@machine "sleep 3 && sudo -S halt"


Malheureusement, cette commande est contraignante, car il faut attendre 3 secondes avant de pouvoir saisir le mot de passe. Pour contourner ce problème, tu peux écrire sur
machine
un script (disons
/home/user/toto.sh
) contenant :

#!/bin/bash
sleep 3
halt


... et que tu lanceras via
ssh + sudo
:

ssh user@machine "sudo -S /home/user/toto.sh"


Bonne chance
1
Utilisateur anonyme
18 janv. 2022 à 13:52
Bonjour
Si vous branchez et allumez un autre élément (en +) que votre PC sur cet onduleur, genre une petite lampe ou un réveil..
L'onduleur s'éteint il aussi quand vous éteignez l'ordinateur ?
L'onduleur n'est pas fait pour s'éteindre automatiquement sauf "peut être" s'il est raccordé avec un câble USB/RJ50 au PC et configuré avec l'appli spécifique de l'APC...
A+
0