Crie um script que responda a um prompt de senha

0

Estou escrevendo um script de shell que responderá a um prompt. Por exemplo, quando executo um arquivo, o arquivo executado, então, solicita ao usuário:

Por favor, digite a senha:

Então, quero que o script coloque automaticamente algo para esse prompt.

Eu entendo "esperar" é algo que eu posso usar. No entanto, estou usando o SSH e não tenho raiz no servidor ao qual estou conectado e, portanto, não consigo instalar "esperar", pois não tenho permissão.

Eu tenho duas opções: Existe outra maneira de responder a um prompt fora do esperado? Ou posso executar um script na minha máquina local fora da conexão SSH e, em seguida, executar esse script nesta máquina SSH?

Estou tentando inserir os números 000 a 999 (e todos os números entre eles) para tentar usar a senha. Então eu estou construindo loops para fazer isso (eu sei como fazer isso, eu apenas DK como fazê-lo responder ao prompt), então eu não tenho certeza se há algo fora do esperado que eu possa fazer. Eu só quero saber se há alguma maneira de fazer isso.

    
por king 16.12.2014 / 10:49

1 resposta

1

Você não precisa instalar Expect no servidor. Escreva um script Expect em vez de executar expect em um script de shell. Faça com que o script Expect gere o cliente SSH, conecte-se ao servidor e faça um loop pelos números.

Para poupar algum esforço, você pode gravar uma sessão na qual você faz login no servidor e tenta um número com autoexpect . Salve o script resultante como, por exemplo, wargame.exp e adicione o loop a ele. Veja o link (os scripts esperados são o código Tcl).

    
por 17.12.2014 / 11:44