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]
).