Precisa gerar senhas aleatórias no Linux, mas não quer usar um gerenciador de senhas? Eu entendo! Às vezes, uma solução rápida pela linha de comando é a melhor opção. Neste post, vamos explorar o comando pwgen
, sua instalação e uso para gerar senhas seguras e aleatórias diretamente no seu terminal Linux.
Como instalar o pwgen
O que você precisará: Apenas uma distribuição Linux e um usuário com privilégios de sudo
.
1. Instalação em distribuições baseadas em Debian ou Ubuntu
Para instalar o pwgen
em distribuições baseadas em Debian ou Ubuntu, abra um terminal e digite:
sudo apt-get install pwgen -y
2. Instalação em distribuições baseadas em Fedora
Em distribuições baseadas em Fedora, use este comando:
sudo dnf install pwgen
3. Instalação em distribuições baseadas em Arch
Para distribuições baseadas em Arch, utilize:
sudo pacman -S pwgen
4. Instalação em distribuições baseadas em SUSE
Finalmente, em distribuições baseadas em SUSE, o comando é:
sudo zypper install pwgen
Após a instalação, o aplicativo estará pronto para uso.
Como usar o pwgen
1. Gerar uma única senha
Para gerar uma senha única com 16 caracteres, use:
pwgen 16 1
2. Gerar três senhas
Para três senhas de 16 caracteres cada:
pwgen 16 3
3. Gerar uma lista de senhas
Para uma lista de senhas de 16 caracteres (número padrão):
pwgen 16
O primeiro número define o comprimento da senha. O segundo (opcional) define quantas senhas serão geradas.
O pwgen
oferece várias opções adicionais:
-c
ou--capitalize
: Inclui pelo menos uma letra maiúscula.-A
ou--no-capitalize
: Não inclui letras maiúsculas.-n
ou--numerals
: Inclui pelo menos um número.-0
ou--no-numerals
: Não inclui números.-y
ou--symbols
: Inclui pelo menos um símbolo especial.-r
ou--remove-chars=
: Remove caracteres específicos.-s
ou--secure
: Gera senhas completamente aleatórias.-B
ou--ambiguous
: Não inclui caracteres ambíguos.-H
ou--sha1=caminho/para/arquivo[#seed]
: Usa o hash sha1 de um arquivo como gerador (menos aleatório).-C
: Imprime as senhas em colunas.-1
: Não imprime as senhas em colunas.-v
ou--no-vowels
: Não inclui vogais.
Lembre-se que a opção --no-space
foi depreciada. Criar scripts complexos com pwgen
agora exige mais linhas de código, como no exemplo abaixo:
#!/bin/bash # Comprimento da senha PASSWORD_LENGTH=16 # Número de senhas a gerar NUM_PASSWORDS=5 # Caracteres a incluir USE_LOWERCASE=true USE_UPPERCASE=true USE_DIGITS=true USE_SYMBOLS=true # Função para gerar uma senha generate_password() { local characters="" if $USE_LOWERCASE; then characters+="abcdefghijklmnopqrstuvwxyz"; fi if $USE_UPPERCASE; then characters+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; fi if $USE_DIGITS; then characters+="0123456789"; fi if $USE_SYMBOLS; then characters+="!@#$%^&*()_+=-`~[]{}|;':\",./<>?"; fi local password="" for i in $(seq 1 $PASSWORD_LENGTH); do local rand=$(( RANDOM % ${#characters} )) local char="${characters:$rand:1}" password+="$char" done echo "$password" } # Gera as senhas e imprime echo "Senhas Geradas:" for i in $(seq 1 $NUM_PASSWORDS); do password=$(generate_password) echo "$password" done # Exemplo: Armazena senhas em um array (opcional) password_array=() for i in $(seq 1 $NUM_PASSWORDS); do password=$(generate_password) password_array+=("$password") done # Imprime erros (se houver) if [ $? -ne 0 ]; then echo "Ocorreu um erro" fi # Exemplo de uso do array (opcional) echo "Armazenadas em password_array:" for password in "${password_array[@]}"; do echo "$password" done
Aproveite suas novas senhas aleatórias!
Compartilhe suas experiências com o comando pwgen
!