Tente colocar os comandos a serem executados no servidor remoto entre aspas.
ssh [EMAIL PROTECTED] xx "echo root:$SENHA_ LINUX_ROOT | chpasswd" Íkami ----- Mensagem original ---- De: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> Para: "[email protected]" <[email protected]> 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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 [As partes desta mensagem que não continham texto foram removidas]
