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] 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] 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] 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
