Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/expect -D 0
- # Cria as variaveis para usuario e host:
- set usuario [lindex $argv 0]
- set maquina [lindex $argv 1]
- #set USER1 [ exec cat /tmp/user1]
- #set HOST [ exec cat /tmp/host]
- set SENHA1 [ exec cat /tmp/senha1]
- set SENHA2 [ exec cat /tmp/senha2]
- # Faz o registro da atividade
- log_user 0 ;
- # Conecta com ssh
- set prompt ":|#|\\\$"
- #puts $usuario
- #puts $maquina
- #send ssh $::env(LOGNAME)@$HOST
- spawn ssh "$usuario@$maquina"
- # Espera aparecer : na tela para executar o proximo passo
- #expect ":"
- # Envia a senha do usuario
- #send " \n"
- expect {
- ")?" {send "yes\r"}
- ":" {send "$SENHA1\r"}
- }
- # espera aparecer o prompt de comando
- expect "prompt$"
- expect "$ " { send "date > /tmp/data-expect-user\r" }
- # executa o comando su
- send "su \n"
- # Espera aparecer Password: na tela para executar o proximo passo
- expect {
- -nocase "password:" {send "$SENHA2\r"}
- -nocase "senha:" {send "$SENHA2\r"}
- }
- #interact -o -nobuffer -re $prompt return
- #log_user 1 ;
- expect "# " { send "date > /tmp/data-expect\r" }
- #
- expect "# " { send "systemctl restart rsyslog.service\r" }
- #interact -o -nobuffer -re $prompt return
- #interact -o -nobuffer -re $prompt return
- send "exit\r"
- #interact -o -nobuffer -re $prompt return
- send "exit\r"
- send_user "Tudo OK"
- # passa o controle para o terminal do usuario
- #interact
Advertisement