como verificar se a senha do root foi alterada corretamente

3

Eu tenho uma tarefa OpsWare, que altera senhas raiz em um grande número de servidores, substituindo o hash de senha da raiz no arquivo /etc/shadow .

Eu preciso de um script de algum tipo, que preferencialmente roda usando, novamente, OpsWare, mas eu não quero comparar os hashes. Eu quero que ele execute algum tipo de comando su (ou login ) e insira a cadeia de senha real. A razão que eu quero fazer desta forma é, no passado, eu tive hashes criados por outra pessoa, que não criptografou corretamente e negou login de raiz em um grande número de servidores.

Estou procurando ideias que eu possa implementar. O expect vem à mente, mas como não é um utilitário padrão em nossa empresa, ele precisa ser instalado e removido logo após o teste, o que não é uma solução "rápida".

Sugestões de ideias são apreciadas.

    
por MelBurslan 22.07.2014 / 20:13

2 respostas

2

Existe um utilitário chamado sshpass , que permite fornecer uma senha como uma opção na linha de comando. Essa ferramenta pode ser roteirizada para que seja executada em vários hosts, mesmo em paralelo. Instale sshpass no seu Jumpbox e, em seguida, faça algo assim:

sshpass -p password ssh root@host 'hostname;date;id'

e incorporá-lo em um loop de shell ou outro método (como ssh ou clusterssh paralelos) que permite executá-lo em vários hosts.

As pessoas podem achar que isso é inseguro, mas se você executá-lo a partir da linha de comando, você simplesmente limpará o histórico do shell, limpará a tela e não haverá nenhum rastro da senha em texto puro.

    
por 22.07.2014 / 20:58
0

sshpass -f[filename] analisa um arquivo com a senha dentro - então não há necessidade de limpar o histórico de transações do bash

Da página do manual:

-ffilename

The password is the first line of the file filename.

    
por 15.05.2017 / 12:44

Tags