User Tools

Site Tools


wikiv2:make_passwd

Gerar senhas

Métodos eficazes para gerar senhas seguras no terminal do Linux usando o Bash. Esses métodos vão combinar diferentes ferramentas e funções para criar senhas que incluem letras, números e caracteres especiais.

1. Utilizando o comando tr com /dev/urandom

Este é um método simples e muito usado para gerar senhas seguras usando caracteres aleatórios.

senha=$(head /dev/urandom | tr -dc 'A-Za-z0-9_@#$%&*+-=' | head -c 20 ; echo)
echo $senha

Ou:

senha=$(head /dev/urandom | tr -dc '[[:alnum:]][[:punct:]]' | head -c 20 ; echo)
echo $senha
  • head /dev/urandom: Lê uma pequena quantidade de dados aleatórios;
  • tr -dc 'A-Za-z0-9_@#$%&*+-=': Filtra para manter apenas os caracteres desejados (letras, números e alguns símbolos);
  • head -c 20: Corta a string para os primeiros 20 caracteres, ajuste conforme a necessidade de tamanho da senha;
  • [\[:alnum:]\]: Caracteres alfanuméricos;
  • [\[:punct:]\]: Caracteres pontuação.

2. Usando o comando `openssl` para geração de senha

O openssl é uma ferramenta poderosa que também pode ser usada para gerar senhas criptograficamente seguras.

senha=$(openssl rand -base64 24 | tr -dc 'A-Za-z0-9_@#$%&*+-=' | head -c 20 ; echo)
echo $senha
  • openssl rand -base64 24: Gera uma quantidade suficiente de dados aleatórios, codificados em Base64.
  • tr -dc 'A-Za-z0-9_@#$%&*+-=': Filtra os caracteres para manter apenas os desejados.
  • head -c 20: Define o comprimento da senha.

3. Combinando a data atual com aleatoriedade

Você pode usar a data e hora atuais como parte de sua senha para adicionar um elemento de unicidade temporal.

parte1=$(date +%s%N)  # Segundos e nanossegundos desde 1970
parte2=$(openssl rand -base64 10 | tr -dc 'A-Za-z0-9_@#$%&*+-=')
senha="${parte1:0:10}$parte2"
echo $senha
  • date +%s%N: Gera um valor baseado na hora atual em segundos e nanossegundos.
  • openssl rand -base64 10: Gera dados aleatórios adicionais.
  • tr -dc 'A-Za-z0-9_@#$%&*+-=': Filtra para caracteres específicos.

A senha final combina parte da data com os dados aleatórios.

4. Usando shuf para misturar palavras ou letras

Você pode criar uma senha por meio de uma combinação de palavras, misturadas de maneira aleatória.

palavras=('Casa' 'Carro' 'Livro' 'Árvore' 'Sol')
senha=$(printf "%s" "${palavras[@]}" | fold -w1 | shuf | tr -d '\n' | head -c 20 ; echo)
echo $senha
  • printf “%s” “${palavras[@]}“: Imprime todas as palavras sem espaços entre elas.
  • fold -w1: Dobra a string para que cada caractere apareça em uma nova linha.
  • shuf: Embaralha os caracteres.
  • head -c 20: Seleciona os primeiros 20 caracteres.

Estes métodos cobrem uma ampla gama de técnicas que podem ser usadas para gerar senhas robustas diretamente do terminal do Linux, utilizando o Bash e suas ferramentas integradas. Personalize cada abordagem conforme a necessidade para adequar-se aos diferentes requisitos de segurança.

wikiv2/make_passwd.txt · Last modified: by 127.0.0.1