Existem muitas formas de se gerar uma senha, principalmente se você estiver no terminal. Se você como eu está sempre precisando gerar uma delas segue uma pequena função em shell que atenderá suas necessidades.
O código abaixo é uma função escrita em shell que eu costumo colocar em algum arquivo de inicialização do meu terminal, como por exemplo o ~/.bashrc, tornando-a uma função disponível para qualquer momento que eu precisar
genpass()
{
SIZE="$1";
NUM="$2";
[ -z "$SIZE" ] && ( echo "WARNING: genpass [pass_size] [num_pass]" && echo ) 1>&2;
dd if=/dev/urandom count=${SIZE:=10} 2> /dev/null | base64 | cut -b1-${SIZE:=10} | head -n ${NUM:=1}
}
Apesar de parecer complexa ela é bem simples. É feita a leitura do dispositivo virtual urandom para obter uma sequencia aleatória com 10 caracteres (caso o usuário não informe o tamanho desejado). Esta sequencia é então codificada em base64, a fim de remover caracteres indesejados, e novamente truncada no tamanho desejado com o comando “cut”. Por fim é obtida apenas a primeira linha de strings retornada, caso o usuário não informe quantas ele deseja.
Claro que existem diversas maneiras de se fazer a mesma coisa, e esta não é perfeita, mas apesar de já ter usado ferramentas de terceiros, e até criado diversas versões em outras linguagens, esta ai tem me atendido bem há bastante tempo.