sudo sobre ssh: no tty presente e nenhum programa askpass especificado

13

Eu continuo recebendo este erro e tentei várias maneiras discutidas on-line para corrigir isso e nenhuma delas está funcionando para mim. Eu configurei as chaves SSH, por isso, quando eu executar 'ssh [email protected]' , ele me conecta automaticamente. Também configurei esse usuário em visudo como 'newton ALL=(ALL:ALL) ALL' Eu também tentei adicionar 'newton ALL=NOPASSWD: /var/www/script.sh'

Infelizmente, toda vez que eu executo ssh [email protected] 'sudo /var/www/script.sh' do Cygwin, eu volto. Eu também tentei adicionar -t -t , mas ele me pede a senha.

total size is 21209180  speedup is 314.69
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
    
por Jeff Schaller 18.09.2012 / 22:53

5 respostas

7

Você precisa ter um terminal disponível para executar sudo para que ele possa solicitar a senha. Se você passar um comando para ssh , ele pressupõe que o comando não precisa de um terminal e não cria um, a menos que você passe -t . Veja SSH dentro do SSH falha com "stdin: não é um tty" para uma explicação mais detalhada.

Se você não conseguir digitar a senha mesmo com -t , é possível que seu problema seja devido ao Windows. O console do Windows não emula completamente um terminal unix; Pode haver alguma dificuldade para os aplicativos Cygwin emularem adequadamente um terminal nessas circunstâncias (não tenho certeza disso, observe). Se esse é o problema, execute ssh dentro de um emulador de terminal como Console2 ou Mintty (incluído na distribuição do Cygwin) - veja Melhor maneira de usar um shell com o Cygwin no Windows 7 .

Se você esperava que a frase-senha do SSH substituísse sua senha para autenticação no sudo, isso não aconteceria. Sudo requer uma senha (a menos que você adicione a tag NOPASSWD no arquivo sudoers). Observe que você ainda precisa ter um terminal, mesmo com NOPASSWD , se a opção requiretty estiver configurada no arquivo sudoers.

Se você quiser fazer login sem senha até a conta root (que geralmente não é uma boa ideia do ponto de vista da segurança), use o SSH para acessar a conta root, de preferência em dois saltos. Veja SSH dentro do SSH falha com "stdin: não é um tty" (com [email protected] para [email protected] ).

    
por 19.09.2012 / 02:57
2

Você não quer ativar nenhuma senha para o comando / binário do nodejs.

Modifique o visudo

sudo visudo

Com a seguinte linha para ativar nenhuma senha para um comando. Pass é vários comandos com vírgulas e espaço após cada comando.

<user name> ALL = NOPASSWD: /usr/local/bin/node

ex. sunthara ALL = NOPASSWD: /usr/local/bin/node

    
por 11.10.2016 / 15:24
0

Enfrentei esse erro quando cometi um erro em / etc / sudoers. Em vez de especificar vários comandos como este:

NOPASSWD= /bin/x, /bin/y

Eu salvei como:

NOPASSWD= /bin/x /bin/y

i.e. sem a vírgula. Agora eu recebo a nenhuma mensagem atual quando tento

ssh host 'sudo x'
    
por 03.01.2013 / 12:59
0

Não sei se está relacionado, mas quando eu tinha '... NOPASSWD: /xyz/script.shl' no arquivo sudoers, recebi a mensagem de erro até incluir a linha #!/bin/shellname no topo da o arquivo /xyz/script.shl .

    
por 06.09.2013 / 19:35
0

Edite o arquivo de configuração do servidor ssh e anexe na parte inferior:

root# vim /etc/ssh/sshd_config

Match User newton
    PermitTTY yes
    
por 30.06.2016 / 09:18

Tags