Automatiser des commandes sudo via SSH

Re-bonjour tout le monde,

Je cherche à automatiser l’envoi de commandes SSH via l’outil n8n.

Cela fonctionne sans difficultés, sauf avec des commandes de type sudo, puisqu’il faut taper un mot de passe de manière interactive pour l’exécuter. J’ai beau chercher, je n’ai pas trouvé de solution magique.

Pour le moment, je m’oriente vers une modification du fichier de configuration sudoers pour autoriser l’utilisation d’une commande sans mot de passe, comme expliqué à ces deux liens :

Sauf que je ne pige pas. Je veux donner à un utilisateur le droit de faire sudo apt update.
Donc, j’ajoute la ligne : utilisateur ALL=(ALL) NOPASSWD: /usr/bin/apt ?

Si vous avez d’autres idées plus générales, je suis preneur.

Bonjour. Exemple de sudoers

User alias specification

User_Alias SPAML=nobody
User_Alias NMAP=www-data
User_Alias ALIAS=postfix,nobody

Cmnd alias specification

Cmnd_Alias SPAM=/usr/bin/sa-learn
Cmnd_Alias NMAP=/usr/bin/nmap
Cmnd_Alias ALIASCMD=/usr/local/bin/setVideo.sh, /usr/bin/sudo

User privilege specification

root ALL=(ALL:ALL) ALL

Allow members of group sudo to execute any command

%sudo ALL=(ALL:ALL) ALL
SPAML ALL=NOPASSWD: SPAM
NMAP ALL=NOPASSWD: NMAP
ALIAS ALL=NOPASSWD: ALIASCMD

···

Le 17/02/2026 à 17:08, Optogram via Alsace Réseau Neutre a écrit :

Re-bonjour tout le monde,

Je cherche à automatiser l’envoi de commandes SSH via l’outil n8n.

Cela fonctionne sans difficultés, sauf avec des commandes de type
sudo, puisqu’il faut taper un mot de passe de manière interactive pour
l’exécuter. J’ai beau chercher, je n’ai pas trouvé de solution magique.

Pour le moment, je m’oriente vers une modification du fichier de
configuration sudoers pour autoriser l’utilisation d’une commande sans
mot de passe, comme expliqué à ces deux liens :

Sauf que je ne pige pas. Je veux donner à un utilisateur le droit de
faire |sudo apt update|.
Donc, j’ajoute la ligne : |utilisateur ALL=(ALL) NOPASSWD: /usr/bin/apt| ?

Si vous avez d’autres idées plus générales, je suis preneur.


Voir le sujet https://forum.arn-fai.net/t/topic/12784/1 ou répondre
à cet e-mail pour répondre.

Vous recevez cet e-mail car vous avez activé la liste de diffusion.

Pour vous désabonner de ces e-mails, cliquez ici
<>.

Je ne comprends pas ce que je lis, peux-tu détailler l’extrait ?

Ce sont des alias d’utilisateurs SUDO et leurs Cmnd autorisée-s

Un exemple: l’utilisateur NMAP a le droit d’utiliser l’alias NMAP sans
mot de passe, la commande qui sera éxécutée est /usr/bin/nmap

···

Le 17/02/2026 à 18:12, Optogram via Alsace Réseau Neutre a écrit :

Je ne comprends pas ce que je lis, peux-tu détailler l’extrait ?


Voir le sujet https://forum.arn-fai.net/t/topic/12784/3 ou répondre
à cet e-mail pour répondre.

Vous recevez cet e-mail car vous avez activé la liste de diffusion.

Pour vous désabonner de ces e-mails, cliquez ici
<>.

Ne cherche pas plus loin, tu as la solution.

Personnellement, je coderai un script shell qui enrobe les commandes. Parce que dans ton cas, si un petit malin devient ton utilisateur, il pourra installer un paquet arbitraire.

adminuser ALL=(root) NOPASSWD: /root/.local/bin/system-updater
#!/usr/bin/env bash
# /root/.local/bin/system-updater

apt update
exec apt dist-upgrade -yqq

Et je maintiens mon sudoers dans /etc/sudoers.d/$machine

Mais j’avoue, le sudoers c’est assez cabalistique comme syntaxe :-/