Pular para o conteúdo

Trocar senha de usuário via SSH

Script simples e direto, pode ser usado para fazer a troca em massa de senhas de qualquer usuário ( como o root ) em estações remotas.

Salve o arquivo, dê permissão de execução:

chmod +x trocaSenhaSSH.sh

Use-o:

./trocaSenhaSSH.sh usuario@host_or_ip senha_antiga senha_nova

Se quiseres usar em rotinas automatizadas para várias estações com mesmo usuário e senha, como o root, basta fazer um laço while ler o nome ou IP das estações de um arquivo:

while read ESTACAO
do
     ./trocaSenhaSSH.sh root@${ESTACAO} senha_antiga senha_nova
done < estacoes.txt
Raimundo Alves Portela rai3mb
Hits: 16.203 Categoria: Shell Script Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Script simples e direto, pode ser usado para fazer a troca em massa de senhas de qualquer usuário ( como o root ) em estações remotas.

Salve o arquivo, dê permissão de execução:

chmod +x trocaSenhaSSH.sh

Use-o:

./trocaSenhaSSH.sh usuario@host_or_ip senha_antiga senha_nova

Se quiseres usar em rotinas automatizadas para várias estações com mesmo usuário e senha, como o root, basta fazer um laço while ler o nome ou IP das estações de um arquivo:

while read ESTACAO
do
     ./trocaSenhaSSH.sh root@${ESTACAO} senha_antiga senha_nova
done < estacoes.txt
Download trocaSenhaSSH.sh Enviar nova versão

Esconder código-fonte

#!/usr/bin/expect -f
# tempo limite que o expect vai esperar por uma resposta:
set timeout 30
# configurando as variaveis:
set xHost [lindex $argv 0]
set senha_velha [lindex $argv 1]
set senha_nova [lindex $argv 2]

# enviando o comando ssh para o host
spawn ssh $xHost

# trocando a senha
expect "*password:*" {
   send "$senha_velha\r"
   expect "*#*"
    send "passwd\r"
    expect "*password:*"
    send "$senha_nova\r"
    expect "*password:*"
    send "$senha_nova\r"
}


Projeto rodar League of Legends no Linux =)

Monitoramento

Convertendo man pages em PDFs (Versão CShell)

Unrar

Cálculo de Índice de Massa Corporal

#1 Comentário enviado por brunols em 03/08/2017 - 15:40h
Fiz conforme explicado. Porém está dando erro. Segue abaixo:
[baugusto@server troca_senha]$ while read ESTACAO; do ./trocaSenhaSSH.sh user@${ESTACAO} qawsed 1q2w3e4r; done < estacoes.txt
spawn ssh user@server
Password: qawsed
[baugusto@server troca_senha]$ qawsed
-bash: qawsed: command not found

Contribuir com comentário

Entre na sua conta para comentar.