Você menciona que está usando scp
dentro de seu script para fazer download de pacotes. Seu problema é com esse bit. O problema é que, quando você executa o ssh desta forma:
ssh user@host command
... não há pseudo terminal alocado para o script que está sendo executado. scp
tenta solicitar uma senha, mas precisa de um pseudo terminal para isso, portanto, sem um, você obtém o erro de permissão negada (que vem de uma tentativa de autenticação de senha com falha). Se você usar ssh -t
, haverá um pseudo terminal e o prompt de senha funcionará. O que você precisa descobrir é por que scp
está solicitando uma senha quando executado remotamente, mas não quando executado a partir de uma sessão ssh interativa. Essa é uma pergunta diferente.