J'ai configuré mon fichier sudoers pour exécuter une commande sans mot de passe et sans terminal de connexion, mais lors de l'exécution de la commande, j'ai obtenu l'erreur ci-dessous :
"sudo: sorry, you must have a tty to run sudo"
Sol :Ma configuration sudoers consistait à exécuter le fichier sans mot de passe et sans tty. Donc, il y a une probabilité que mon fichier /etc/sudoers (ou tout autre fichier qu'il inclut) ait :
Defaults requiretty
Cette configuration fait que le comportement sudo nécessite toujours un terminal de contrôle. Autrement dit, SUDO devrait être exécuté à partir d'un terminal de connexion. Comme cela n'apporte aucun avantage réel en matière de sécurité, il peut être supprimé ou commenté en toute sécurité.
Après avoir supprimé ou commenté, redémarrez le service sshd
service sshd restart
Red Hat a résolu le bogue en supprimant le paramètre par défaut requis des sudoers.
En retour, si vous ne parvenez pas à résoudre le problème côté serveur, exécutez la commande avec
-t
ou
-tt
options à ssh qui crée un pseudo-terminal du côté distant.