Pular para o conteúdo
  • Denunciar
  • Indicar

1. script

Enviado em 27/08/2010 - 11:13h

Criei um script para fazer a conexão por chave entre dois servidores, gostaria de saber se alguém tem idéia de como fazer isso de modo que eu passe somente o ip do servidor e a senha para ele fazer isso automaticamente, sem que fiquer pedindo a frase, senha e etc, segue script:

#!/bin/bash
# Gustavo Hendrigo Marcon
# ARL208004

#Variáveis
HOME=$(echo ~)
APACHEUSER=$(ps -aux | grep apache|awk -F" " '{print $1}' | tail -1)
USERNOW=$(id -un)

# Verifica os parâmetros passados
if [ $# -ne 1 ]
then
echo
echo "Type: $0 and ip of the proxy server!"
echo "Ex: $0 192.168.56.2"
exit;
fi

IP=$1

# Valida o ip
# Verifica caracteres inválidos no IP
VALIDA=`echo ${IP} | sed "s/[0-9\.]//g"`;
if [ "${VALIDA}" != "" ];
then
echo "Characters invalids for an ip";
exit;
fi

#Recebe os dados se for um ip válido
ipvalido=$(echo $IP | egrep '^(([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$')

if [ "$ipvalido" != "" ];
then

ssh-keygen

#ssh
echo "TYPE PASSWORD OF ROOT OF THE $1"
ssh root@$1 "mkdir -p /root/.ssh"
echo "RETYPE PASSWORD"
cat $HOME/.ssh/id_rsa.pub|ssh root@$1 'cat >> /root/.ssh/authorized_keys'
echo "\$proxy=\"$1\";" >> ../conf/admin.php
echo "?>" >> ../conf/admin.php
else
echo "$ipvalido invalid";

fi

Responder tópico

2. Re: script

Enviado em 27/08/2010 - 14:49h

Existe uma ferramenta para integrar com shell, que é o expect, ele trabalha com requisições e respostas, por exemplo você define qual vai ser a senha que ele vai digitar dentro do arquivo e quando solicitado vai colocar a senha automaticamente. Tente procurar por essa ferramenta na internet, qualquer coisa estarei postando em alguns dias um pequeno manual mostrando sobre essa linguagem.

3. expect

Enviado em 27/08/2010 - 15:14h

Valeu pela resposta, mas eu já testei o expect mas ele tb não me atendeu tb! no caso da senha funciona mas no caso de passar caracter em branco no caso da frase não funcionou, e eu tenho ou outro problema tb com o expect, eu necessito executar este script via código web, como por exemplo a função shell_exec() do php, e no caso do expect não nada mesmo, eu acho q ele deve pegar a saída no terminal, e no caso executando por código, ele não funciona nem com um exemplo q já estava funcionando executando pelo bash.
t+

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder