[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
>
>
>
>
>
>
>
>