
hendrigo
(usa Suse)
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