Como criar senhas fortes no Linux?

Como criar senhas fortes no Linux?

Gostaria de saber como posso criar senhas fortes no Linux (para usuários normais e administradores) e se existem programas específicos para fazer isso.

Responder1

pwgené um dos muitos programas para gerar senhas

Responder2

Pessoalmente, prefiro não usar o gerador de senhas, pois as senhas geradas são muito difíceis de lembrar, mas uma solução portátil é usar/dev/urandom

A criação de senhas aleatórias que não contenham caracteres especiais tem 10 caracteres:

$ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 10` 
dyxJRKldvp

Isso funciona capturando bytes de /dev/urandom, excluindo aqueles que não se enquadram no padrão especificado no trcomando e limitando-os a 10 caracteres com head.

A criação de senhas aleatórias que contenham caracteres especiais tem 10 caracteres:

$ cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=' | fold -w 10 | grep -i '[!@#$%^&*()_+{}|:<>?=]' | head -n 1
MSF4wj@vP0

Este utiliza uma técnica um pouco diferente após trremover bytes indesejados, pois a ideia é forçá-lo a ter pelo menos um caractere especial. Isso funciona usando o foldcomando para quebrar a linha em grupos de 10 e, em seguida, usar greppara buscar apenas linhas que contenham um caractere especial. headem seguida, busca a primeira senha que atenda aos requisitos.

Responder3

Escrevi este pequeno script há alguns anos e tenho usado ele desde então. Na verdade, é um abuso interessante printfe usa um recurso adorável do BASH que infelizmente raramente vejo em scripts: typeset.

#!/usr/bin/env bash
# Released into public domain
# Aaron Bockover, 2005
# http://abock.org

typeset -i length; length=$1
typeset -i rounds; rounds=$2
[ $rounds -lt 1 ] && rounds=1
[ $length -lt 1 ] && {
    echo "Usage: $0 <length> [<rounds>]" 2>/dev/null; exit 1;
}
for ((i=0; i < $rounds; i++)); do
    for ((j=0; j < $length; j++)); do
        set=$(($RANDOM % 20))
        if   [ $set -le 6 ];  then o=65; l=26; # 35% uppercase
        elif [ $set -le 13 ]; then o=97; l=26; # 35% lowercase
        elif [ $set -le 17 ]; then o=48; l=10; # 20% numeric
        elif [ $set -le 18 ]; then o=58; l=7;  # 10% symbolic
        elif [ $set -le 19 ]; then o=33; l=15; fi
        ord=$(($o + $RANDOM % $l))
        printf \\$(($ord / 64 * 100 + $ord % 64 / 8 * 10 + $ord % 8))
    done
    echo
done

Responder4

Eu também adicionariaKeePassXque lhe dá a opção de usar a entropia do sistema para gerar senhas fortes com alguns recursos interessantes - todos usando GUI. Também oferece a opção de gerenciar suas senhas e salvá-las em um arquivo criptografado.

Esta é a aparência da interface do gerador de senha KPX:

insira a descrição da imagem aqui

informação relacionada