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

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

Re: [shell-script] Re: Execução de script remotamente


From: Julio C. Neves
Subject: Re: [shell-script] Re: Execução de script remotamente
Date: Wed, 1 Jun 2011 10:42:53 -0300

Acho que agora entendi. O script executado na máquina remota não mostra a
senha pq de alguma forma o echo foi inibido, mas localmente ele mostra pq o
echo está ativo.

Se a única intervenção do operador for essa (escrever a senha), eu faria um
script local que seria mais ou menos assim:

trap "stty echo; exit 1" 2 3 15 # repõe o echo caso interrompido
stty -echo                      # tira o echo do terminal
ssh servidor@remoto....         # Aqui vc chama seu script remoto
stty echo                       # repõe o echo
trap 2 3 15                     # Restaura os sinais

Procedendo assim, vc inibe o echo localmente. É simplesmente uma adaptação
da solução anterior que eu havia proposto.

Cordialmente,

Julio Neves

*Quer programar bem em Shell?*

*Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*
My profiles: [image: Twitter] <http://twitter.com/juliobash>
Contact me: [image: Skype] julioneves1


Em 1 de junho de 2011 09:03, jrsreis <address@hidden> escreveu:

>
>
> Olá pessoal,
>
> O script fica no servidor B e eu mando-o executá-lo pelo servidor A através
> de uma conta qualquer, por exemplo, usuário operador.
>
> Quando o script mostrar.sh é executado no servidor remoto B através da
> conta operador, ele executa o comando "su" para trocar para o usuário
> "junior" para executar o script criado no diretório /tmp. É nesse momento
> que dá o problema, essa senha que pede é de login do sistema, entenderam?
>
> Se eu mandar executar localmente no servidor B, ele não dá esse problema.
> Somente quando remoto é que dá esse problema da senha aparecer em texto
> claro, funciona, mas a senha fica aparecendo.
>
> O servidor tem bash.
>
> Júlio, tentei das linhas tuas, mas os caracteres ainda são mostrados, eu
> havia até utilizado antes o stty, mas apresenta o seguinte erro: "stty:
> entrada padrão: Argumento inválido"
>
> Abs,
> Junior Reis
>
>
> --- Em address@hidden, "Julio C. Neves" <julio.neves@...>
> escreveu
> >
> > Fala Junior,
> > queria te ajudar com a lógica, mas não consegui entender o que vc fez.
> Não
> > vi vc ler a senha, nem informá-la. Assim sendo, vou te dar a dica de como
> > ler uma senha.
> >
> > Troque a linha do echo por uma das seguintes:
> >
> > Se no servidor tiver Bash, faça:
> > read -sp "Informe a senha de $(tput smso)Junior$(tput rmso): " Senha
> >
> > Se o servidor não tiver Bash complica um pouco. Faça:
> > trap "stty echo; exit 1" 2 3 15 #repõe o echo caso interrompido
> > stty -echo # tira o echo do terminal
> > echo -n "Informe a senha de $(tput smso)Junior$(tput rmso): "
> > read Senha
> > stty echo #repõe o echo
> > trap 2 3 15 # Restaura os sinais
> >
> > Cordialmente,
> >
> > Julio Neves
> >
> > *Quer programar bem em Shell?*
> >
> > *Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*
> > My profiles: [image: Twitter] <http://twitter.com/juliobash>
> > Contact me: [image: Skype] julioneves1
> >
> >
> > Em 31 de maio de 2011 18:42, jrsreis <jrsreis@...> escreveu:
> >
> > >
> > >
> > > Olá pessoal,
> > >
> > > Tudo bem? Estou com um probleminha.
> > >
> > > Tenho um servidor (A) que acessa outro servidor (B) remotamente via
> ssh,
> > > mas sem pedir senha através de troca de chaves. Nesse outro servidor
> (B) tem
> > > um script,o qual deve mostrar uma mensagem utilizando uma conta chamada
> > > junior.
> > >
> > > No servidor A eu mando executar o script com uma conta chamada teste,
> por
> > > exemplo:
> > >
> > > teste@servidorA> ssh <servidor_B> /scripts/mostrar.sh
> > >
> > > E aí ele aparece
> > > Entre com a Senha do Login : junior :
> > > Senha:
> > >
> > > O problema aqui é que a senha está sendo mostrada quando digito e não
> > > ocultamente, como fazer para que a senha não fique aparecendo?
> > >
> > > Segue abaixo o script
> > >
> > > #!/bin/bash
> > >
> > > function executar() {
> > > export TERM=xterm
> > > echo -e "\nEntre com a Senha do Login : `tput smso` junior `tput rmso`
> : "
> > > su junior -c "/tmp/sh.$$"
> > > if [ $? -gt 0 ]; then
> > > echo -e "\nHouve Erro na Execucao !\n"
> > > echo -e "Tente novamente ..."
> > > sleep 2
> > > executar
> > > else
> > > rm /tmp/sh.$$
> > > echo -e "Alteracao de Permissoes efetuada com Sucesso !\n"
> > > fi
> > > }
> > >
> > > function mostrarMensagem() {
> > > cat << EOT >/tmp/sh.$$
> > > #!/bin/bash
> > > #
> > > # Mostrar mensagem
> > > #
> > > echo "Script rodando normalmente"
> > > EOT
> > > chmod 777 "/tmp/sh.$$"
> > > executar
> > > }
> > >
> > > mostrarMensagem
> > >
> > > Abraços,
> > > Junior Reis
> > >
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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