Um dos clientes da minha empresa executa um servidor IPSwitch sftp e eles não permitiram a autenticação da chave pública e exigiram que alterássemos nossa senha a cada 90 dias.
O problema é que, não consigo ver nenhuma maneira de, antecipadamente, alterar proativamente a senha. O que acontece é que, quando ocorre uma tentativa de login após a expiração da senha, você recebe um erro de autenticação e um aviso para alterar a senha. Como nossos sistemas são todos automatizados, preciso de uma maneira de alterá-lo automaticamente.
Eu estava pensando em apenas escrever algo que pegaria o erro e iniciaria um script que tentaria efetuar login, ler o prompt de senha do stdout / stderr e enviar a nova senha de volta via stdin, e eu estaria tudo bem.
O problema com esta abordagem é que o cliente ssh regular está usando um tty separado para enviar o prompt de senha / etc ..., então minha captura stdout / stderr normal não está funcionando (veja a resposta em link para uma explicação).
Eu posso acabar indo pelo caminho da criação de uma pseudo-tty como descrito na resposta, mas parece que ela está bastante envolvida, então eu imaginei que veria se alguém aqui tivesse alguma idéia melhor.
Obrigado :)