Ho configurato il mio file sudoers per eseguire un comando senza una password e senza un terminale di accesso, ma quando ho eseguito il comando, ho ricevuto il seguente errore:
"sudo: sorry, you must have a tty to run sudo"
Sol:La mia configurazione sudoers prevedeva di eseguire il file senza password e senza tty. Quindi, c'è una probabilità che il mio file /etc/sudoers (o qualsiasi altro file che includa) abbia:
Defaults requiretty
Questa configurazione fa sì che il comportamento sudo richieda sempre un terminale di controllo. Cioè, SUDO dovrebbe essere eseguito da un terminale di accesso. Poiché ciò non fornisce alcun reale vantaggio in termini di sicurezza, può essere rimosso o commentato in modo sicuro.
Dopo aver rimosso o commentato, riavvia il servizio sshd
service sshd restart
Red Hat ha risolto il bug eliminando l'impostazione di default di requiretty da sudoers.
In alternativa, se non sei in grado di risolvere il problema lato server, esegui il comando con
-t
o
-tt
opzioni su ssh che crea uno pseudo-terminale sul lato remoto.