Fixed: sudo: no tty present och no askpass program specificerat
No tty nuvarande och ingen askpass program specificerade utmatningslinjen är en av de ssh felmeddelanden som verkligen inte är allt som hjälper eftersom det inte riktigt kommer till rätta med vad som orsakar problemet. Mer sannolikt arbetar du faktiskt med en giltig TTY av något slag när du ser meddelandet och du har noga behandlat ditt sudo-lösenord över ssh bara bra. Du har sannolikt att hantera ett syntaxfel, men meddelandet adresserar inte direkt detta faktum.
Eftersom det här är ett problem som är förknippat med ssh själv, kommer du sannolikt att kunna reproducera problemet på Linux, FreeBSD, MacOS och Cygwins Unix-tjänster på Microsoft Windows. Lyckligtvis bör fixet vara ungefär lika på alla dessa plattformar.
Metod 1: Hitta en terminal för ssh
Medan du än troligen redan arbetar från en terminal inser ssh förmodligen inte detta. Det kan fortfarande vara att försöka leta efter en TTY-terminalemulator trots att du befinner dig i ett kommandotolfönster. Försök att reproducera felet för att testa detta. Vi konfigurerade en virtuell maskin för att fungera som ett exempel och körde ssh [email protected] "sudo /var/mail/startup.sh" som ett test. Naturligtvis vill du ändra kommandot och ssh-linjen till något som matchar vad du försöker göra.
Du vill se till att du loggar in på servern som du trodde du var. Oavsett, kontrollera om du fortfarande får sudo: no tty present och no askpass program specificerat felmeddelande. Mer än troligt, om du fortfarande tar emot den så ser du den tre gånger och kanske till och med får bli uppmanad att ange ditt lösenord som du skulle ha om du kör sudo lokalt på Debian eller Ubuntu.
Försök att lägga till -t efter ssh för att korrigera ditt syntaxfel. Nio gånger av tio kommer detta att tvinga ssh att allokera en virtuell TTY till sig själv och låtsas att det råkar vara att springa inuti en riktig terminal. Du behöver inte ändra något annat om ditt kommando. Lägg bara till -t alternativet efter bokstäverna ssh och behåll sedan värden och passerade kommandot samma. Du kommer också vilja komma ihåg detta om du någonsin måste köra ssh i den senare delen av ditt kommando.
PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka härOm du till exempel fick samma fel när du körde ett kommando som formaterades som ssh -t [email protected] ssh [email protected] ' måste du behålla -t-alternativet efter den första ssh-filen till förhindra det. Observera att om du senare ändrade det andra kommandot för att antingen producera eller konsumera data, skulle du inte vilja använda -t alls. Om du till exempel började köra i stället för ett skript så kan du dumpa -t eftersom du inte skulle behöva allokera en terminal för det.
Metod 2: Patching visudo-filen
Du kan också ha ett konfigurationsproblem som orsakar detta fel. Ändra visudo-filen genom att utfärda sudo visudo- kommandot, och kom ihåg att du aldrig vill redigera den här filen på något annat sätt. Du bör hitta en rad som innehåller ALL = NOPASSWD i den följt av de kommandonstyper som du inte behöver ange administratörens lösenord för att köra.
Varje enskilt kommando måste sluta med ett komma, förutom den sista på linjen. Således om du hade något som läser som / sbin / poweroff / sbin / start / sbin / stop kommer det att behandla alla som ett enda kommando och kasta felet på dig. På samma sätt, om du saknar ett kommando som du försöker köra via ssh får du även det här felet. Gör nödvändiga justeringar och spara filen innan du kontrollerar om felet fortfarande kan reproduceras.
Om du fortfarande har felet efter att ha gjort det och startar om tjänsten, försök följande kommando i bilden nedan och se till att PermitTTY-raden innehåller ordet ja efter det. Om det här är den sista raden i filen, kontrollera sedan att det finns en tom ny linje efteråt. GNU nano utför automatiskt denna uppgift automatiskt.
Du måste starta om eventuella relevanta tjänster innan du försöker återskapa felmeddelandet igen.
PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här