shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Auto Login com ssh ( sem troca de chaves )


From: Fabricio Lopes de Souza
Subject: Re: [shell-script] Auto Login com ssh ( sem troca de chaves )
Date: Wed, 7 Dec 2005 07:58:10 -0200

que erro que deu ??
tem expect instalado ??

abracos . :)

On 12/6/05, Fernando Pereira <address@hidden> wrote:
> Nao funcionou na minha maquina nao. Estou utilizando o Debian Woody.
>
> []'
>
> fernando pereira
>
> On 12/6/05, Fabricio Lopes de Souza <address@hidden> wrote:
> >
> >  Para quem queria , eu fiz um negocinho bem simples usando expect ,
> > ainda estou deixando ele mais bunitinho e completo pra no final ser
> > uma aplicacao que pra mim vai gerenciar a imensidao de ips de clientes
> > que tenho que decorar :
> >
> > [code auto_ssh.sh]
> > #!/bin/bash
> >
> > lista="/usr/auto_ssh/autossh.list"
> > expect="/usr/auto_ssh/auto_ssh.exp"
> > listar()
> > {
> >    awk 'BEGIN {FS=";" ; printf
> > "\n\n+------------------------------------------------------+\n"
> > }{printf "| %-2s | %-15s | %-13s | %-13s |\n",$1,$2,$3,$5 } END {
> > printf "+------------------------------------------------------+\n\n"}'
> > $lista
> >
> >    echo "Pressione qualquer tecla para continuar ..."
> >    read -n1
> > }
> >
> > add()
> > {
> >    clear
> >    echo "Digite o ip da maquina (max 16 digitos): "
> >    read -n 16 ip
> >    echo ""
> >    echo "Digite o Usuario da maquina (max 13 digitos): "
> >    read -n 13 user
> >    echo ""
> >    echo "Digite a Senha da maquina : "
> >    read -s pass
> >    echo ""
> >    echo "Digite a Descricao da maquina (max 13 digitos): "
> >    read -n 13 desc
> >    echo ""
> >    id=$(expr $(tail -n1 $lista | cut -d";" -f1) + 1)
> >    echo "$id;$ip;$user;$pass;$desc" >> $lista
> >    echo ""
> >    echo "$desc recebeu id : $id"
> >    echo ""
> >    echo "Usuario adicionado com sucesso !! "
> > }
> >
> > delete()
> > {
> >    clear
> >    listar
> >    echo "Digite o numero do registro que voce quer deletar"
> >    read del
> >    egrep -v ^$del "$lista" > "${lista}.tmp"
> >    mv "${lista}.tmp" "${lista}"
> >    echo ""
> >    echo "Registro de numero $del deletado com sucesso!"
> > }
> > connect()
> > {
> >    listar
> >    echo ""
> >    echo "Digite o id da maquina a se conectar"
> >    read id
> >    ip=$(grep $id $lista | cut -d";" -f2)
> >    user=$(grep $id $lista | cut -d";" -f3)
> >    pass=$(grep $id $lista | cut -d";" -f4)
> > # Aqui eh o mais importante , a chamada do expect que faz o login
> > automatico , o resto eh soh enfeite .
> >    exec expect -c "set ip $ip ; set user $user ; set pass $pass" $expect
> > }
> > opcoes()
> > {
> >    clear
> >    echo "--- OPCOES ---"
> >    echo ""
> >    echo ""
> >    echo "1) Listar "
> >    echo "2) Conectar "
> >    echo "3) Adicionar "
> >    echo "4) Apagar "
> >    echo "5) Sair"
> >    echo ""
> >    echo "Digite a opcao desejada : "
> >    read opc
> >
> >    case $opc in
> >          1) listar ; opcoes ;;
> >          2) connect ; opcoes ;;
> >          3) add ; opcoes;;
> >          4) delete ; opcoes;;
> >          5) exit 0 ;;
> >          *) echo "Opcao Invalida" ; sleep 2 ; opcoes ;;
> >    esac
> > }
> > opcoes
> >
> > [/code auto_ssh.sh]
> >
> > [code autossh.exp]
> > #!/usr/bin/expect
> >
> > spawn ssh $ip -l $user
> > expect "*password:"
> > send "$pass\r"
> > expect -re "Last login:*"
> > send_user "\n\n"
> > send_user
> > "==========================================================\n==========================================================\n||
> >     Bem-Vindo ao auto-ssh         ||\n"
> > send_user "==========================================================\n"
> > send_user "==========================================================\n"
> > send_user "\n\n"
> > # Esse interact e para  o expect deixar vc usar  o prompt e tambem ser
> > possivel fazer alguns alias , binds e etc ... puramente ilustrativo os
> > a seguir
> > interact {
> >          "exit" {
> >                   send_user "\nTecle \"s\" para sair e \"n\" para
> > continuar\n"
> >                   expect_user {
> >                                "s" { send "exit\r"}
> >                                "n" { send "\n" }
> >                               }
> >                 }
> >          "help"  {
> >                   send_user "\n\n========= OPCOES =========\n"
> >                   send_user "exit -> Fecha a coneccao\n"
> >                   send_user "help -> Mostra esse menu\n"
> >                   send "\r\r\r"
> >                  }
> > }
> > [/code autossh.exp]
> >
> > [code modelo auto_ssh.list]
> > id;Ip;Usuario;Senha;Descricao\
> > --;---------------;-------------;------------;-------------;
> > 1;10.10.10.104;maria;joao;pedro
> > 2;20.20.20.20;come;odeia;gosta
> > 3;30.30.30.30;banana;maria;depepino
> > [/code modelo auto_ssh.list]
> >
> >
> > //-----------------------------------------------------------------------
> >
> > Aproveitando vai uma duvida
> >
> > Queria implementar um jeito de que ninguem conseguisse editar o
> > arquivo auto_ssh.list , apenas  o script , pois la vai ter todas
> > senhas sem estar criptografadas ( seguranca = 0 huhu) , como? ;/
> >
> > Bom sei que nao deve estar taoooooooooooo bom o script , mas espero
> > que ajude alguem , se alguem tiver sugestoes , mande :)
> >
> > Abracos
> >
> >
> >  ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação, como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> > aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> >
> >
> >
> >  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> >
> > <http://br.rd.yahoo.com/SIG=12fiudosc/M=384888.7585449.8468440.1588051/D=brclubs/S=2137111254:HM/Y=BR/EXP=1133876712/A=3154524/R=0/SIG=12igfl26t/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE>
> > ------------------------------
> > *Links do Yahoo! Grupos*
> >
> >    - Para visitar o site do seu grupo na web, acesse:
> >    http://br.groups.yahoo.com/group/shell-script/
> >
> >    - Para sair deste grupo, envie um e-mail para:
> >    address@hidden<address@hidden?subject=Unsubscribe>
> >
> >    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> >    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]