Another Geek Blog

Desafio do Beakman

Lembram do Beakman?  uhauhauhauha…

Eu cai na seguinte situação: Tenho um número X de servidores que tem um usuário que eu posso utilizar para dar login. Existem 4 senhas possíveis para este usuário, mas eu não sei qual senha está em qual servidor, de forma que eu tenho que ir tentando até conseguir quando tento conectar no mesmo.

Depois de conseguir dar login na máquina eu tenho que virar root. Eu sei que cada servidor tem uma senha de root diferente, mas sempre que eu usar a senha de usuário X a senha de root vai ser Y, senha de usuário A, senha de root B.

Até o momento só consegui semi-automatizar o processo, mostrando na tela qual senha funcionou para o usuário, de forma que eu vou saber qual senha de root usar. O ideal é automatizar o login de forma que eu só precise bater o nome da máquina e já caia no prompt de root.

O que fiz foi:

#!/bin/bash

senhas="senha1 senha2 senha3 senha4"

SERVER=$1

for senha in $senhas
do
    export SSHPASS=$senha
    echo "Tentando $senha"
    sshpass -e ssh user@$SERVER
    [ $? -eq 0 ] && exit
done

O Pascal me sugeriu o paramiko, mas acho que ele não tem a funcionalidade de me entregar o prompt de comando. Estou tentando também usar o Pexpect, mas sem muita sorte.

Exit mobile version