Corregido: sudo: sin tty presente y sin contraseña especificada

La línea de salida especificada sin un programa tty presente y sin un programa de código de acceso es uno de esos mensajes de error ssh que no es realmente útil porque en realidad no capta el punto que causa el problema. Lo más probable es que esté trabajando con un TTY válido de algún tipo cuando vea el mensaje y probablemente haya logrado ingresar su contraseña de sudo sobre ssh ok. Lo más probable es que se enfrente a un error de sintaxis, pero el mensaje no trata directamente este hecho.

Dado que este es un problema con ssh en sí, lo más probable es que pueda reproducir el problema en los servicios Linux, FreeBSD, macOS y Cygwin en Unix en Microsoft Windows. Afortunadamente, la disposición debería ser casi la misma en todas estas plataformas.

Método 1: encontrar Terminal para ssh

Aunque probablemente ya esté trabajando desde una terminal, probablemente ssh no lo entienda. Es posible que aún desee buscar un emulador de terminal TTY a pesar de que se encuentre dentro de una ventana de símbolo del sistema. Intente reproducir el error para probar esto. Configuramos una máquina virtual para operar como ejemplo y ejecutamos ssh user@linuxtest.example ‘sudo /var/mail/startup.sh’ como prueba. Por supuesto, querrá cambiar la línea de comando y ssh a algo que se adapte a lo que está tratando de hacer.

Querrá asegurarse de estar iniciando sesión en el servidor que pensó que estaba. Independientemente, verifique si todavía obtiene el sudo: no hay tty presente y no hay un mensaje de error especificado por el programa askpass. Lo más probable es que, si aún lo obtiene, lo verá tres veces e incluso se le pedirá que ingrese su contraseña como lo haría si ejecuta sudo localmente en Debian o Ubuntu.

Intente agregar -t después de agregar ssh para corregir su error de sintaxis. Nueve de cada diez veces esto obligará a un ssh TTY virtual a asignarse y pretender que se ejecuta dentro de una terminal real. No necesita cambiar nada más bajo su control. Simplemente agregue la opción -ti después de las letras ssh y luego mantenga el host y el comando ejecutados de la misma manera. También querrá tener esto en cuenta si tiene que ejecutar ssh en la última parte de su comando.

Por ejemplo, si recibía el mismo tipo de error mientras ejecutaba un comando con el formato ssh -t usuario@linuxtest.example ‘ssh usuario@linuxtest2.example’ tendría que mantener la opción -ta después del primer ssh para evitarlo. Tenga en cuenta que si luego cambió el segundo comando para producir o consumir datos, no querrá usarlo en absoluto. Por ejemplo, si comenzara a ejecutar un gato en lugar de un script, entonces podría volcar el -ta ya que no tendría que asignar una terminal para eso.

Método 2: capturar el archivo visudo

También puede tener un problema de configuración que produce este error. Modifique el archivo visudo mediante el sudo visudo comando, y tenga en cuenta que nunca querrá editar este archivo de ninguna otra manera. Debería obtener una línea que contenga ALL = NOPASSWD y los tipos de comando que no requieren que ingrese la contraseña de administrador para ejecutar.

Es necesario terminar cada comando individual con una coma excepto el último de la línea. Entonces, si tiene algo que se lee como / sbin / poweroff / sbin / start / sbin / stop, los tratará a todos como un solo comando y le arrojará el error. Del mismo modo, si le falta un comando que desea ejecutar a través de ssh, también obtendrá este error. Realice los ajustes necesarios y guarde el archivo antes de comprobar si el error aún es reproducible.

Si aún tiene el error incluso después de hacerlo y reiniciar el servicio, intente el siguiente comando en la imagen de abajo y asegúrese de que la palabra sí esté después de la línea PermitTTY. Si esta es la última línea de su archivo, asegúrese de que esté seguida de una nueva línea en blanco. GNU nano realiza esta tarea automáticamente de forma predeterminada.

Deberá reiniciar los servicios relevantes antes de intentar reproducir el mensaje de error nuevamente.

Deja un comentario