Tente colocar os comandos a serem executados no servidor remoto entre
aspas.
ssh address@hidden <mailto:root%40xx.xx.xx>. xx "echo root:$SENHA_
LINUX_ROOT | chpasswd"
Íkami
----- Mensagem original ----
De: "address@hidden <mailto:shell-script%40abdala.org>"
<address@hidden <mailto:shell-script%40abdala.org>>
Para: "address@hidden
<mailto:shell-script%40yahoogrupos.com.br>"
<address@hidden
<mailto:shell-script%40yahoogrupos.com.br>>
Enviadas: Sábado, 18 de Novembro de 2006 13:55:17
Assunto: [shell-script] Script para mudar a senha de root remotamente
Olá Pessoal,
Ainda estou começando a aprender os caminhos do shell, mas estou com
uma duvida que nao consegui resolver sozinho.
Criei um script que faz basicamente três coisas:
1- gera uma senha complexa de 16 caracteres atraves do comando apg
2- muda a senha de root antiga pela nova criada no ítem 1
3- Salva uma cópia dessa senha nova em um arquivo chamado nova_senha.txt
Segue abaixo o script, que localmente, funciona 100 %:
------------ --------- --------- --------- --------- --------- -
#!/bin/bash
############ ######### ######### ######### ######### ########
# Este script altera a senha de root local para uma nova, toda vez que é
executado. #
############ ######### ######### ######### ######### ########
#aqui é gerada uma senha complexa
SENHA_LINUX_ ROOT=`apg -n 1 -m 16 -x 16 -M SNCL`
# aqui é feita a mudança da senha antiga de root para a nova
echo root:$SENHA_ LINUX_ROOT | chpasswd
# grava essa nova senha em um arquivo txt
echo "Esta é a nova senha de root do linux: " $SENHA_LINUX_ ROOT >
nova_senha.txt
------------ --------- --------- --------- --------- --------- -
Este é o resultado do arquivo -> "nova_senha. txt"
------------ --------- --------- --------- --------- --------- -
- Esta é a nova senha de root do linux: gor.GriUnsEshif3 -
------------ --------- --------- --------- --------- --------- -
Bom, localmente, esse script funciona 100 %
Bom, como eu quero também mudar a senha do servidor remoto
automaticamente,
eu comecei trocando as chaves publicas entre a minha máquina local e o
servidor remoto,
e passei a fazer o ssh sem senha entre os dois.
Modifiquei um pouco o script, para que ele pudesse acessar a máquina
remota e executar
o comando passwd remotamente ...
Segue abaixo o script modificado:
------------ --------- --------- --------- --------- --------- -
#!/bin/bash
############ ######### ######### ######### ######### ######### ########
# Este script altera a senha de root do servidor remoto para uma nova,
toda vez que é executado. #
############ ######### ######### ######### ######### ######### ########
#
#esta parte é executada localmente, gerando uma senha
SENHA_LINUX_ ROOT=`apg -n 1 -m 16 -x 16 -M SNCL`
# tento acessar o servidor por ssh e mudar a senha de root de lá
ssh address@hidden <mailto:root%40xx.xx.xx>. xx echo root:$SENHA_
LINUX_ROOT | chpasswd
# grava essa nova senha em um arquivo txt local
echo "Esta é a nova senha de root do servidor remoto linux: "
$SENHA_LINUX_ ROOT > nova_senha_servidor .txt
------------ --------- --------- --------- --------- --------- -
Obs. -> (o xx.xx.xx.xx é o ip da maquina remota)
Só que não está alterando. Eu tenho total acesso ao servidor remoto,
rodando o debian,
posso usar apt, shh, etc ....
Muito provavelmente o problema está na linha:
ssh address@hidden <mailto:root%40xx.xx.xx>. xx echo root:$SENHA_
LINUX_ROOT | chpasswd
Acho que nao esta redirecionando o comando "chpasswd" corretamente para
o shell remoto
porque quando eu faço
ssh address@hidden <mailto:root%40xx.xx.xx>. xx mkdir teste
funciona beleza.
Alguem poderia dar uma ajuda para conseguir rodar esse script com
sucesso ?
Como tenho varios servidores viruais como este, rodando, minha idéia é
colocar esse script no cron da minha maquina local,
e fazer essa mudança periodicamente nos servidores remotos, sem ter de
fazer
um a um, tipo, mudar as senhas de root remoto a cada 15 dias, por exemplo.
Muito obrigado pro qualquer ajuda que possa ajudar a colocar este script
pra funcionar.
Abdala
Anápolis-Go
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale
o discador agora!
http://br.acesso.yahoo.com <http://br.acesso.yahoo.com>
[As partes desta mensagem que não continham texto foram removidas]