Reunimos todos esses comandos do Command-Line Fu e os testamos em nosso próprio PC Linux para garantir que funcionassem. Você deve ser capaz de usar pelo menos alguns deles no Windows com o Cygwin instalado, embora não tenhamos testado todos eles - o último definitivamente funciona.
Gerar uma senha aleatória
Para qualquer um desses comandos de senha aleatórios, você pode modificá-los para exibir um comprimento de senha diferente ou usar os primeiros x caracteres da senha gerada, se não desejar uma senha tão longa. Espero que você esteja usando um gerenciador de senhas como o LastPass, assim você não precisa memorizá-los.
Esse método usa SHA para alterar a data, executa até a base64 e, em seguida, exibe os 32 principais caracteres.
date +%s | sha256sum | base64 | head -c 32; echo
Esse método usou o recurso interno / dev / urandom e filtra apenas os caracteres que você usaria normalmente em uma senha. Em seguida, o resultado é o 32 principal.
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
Este usa a função rand do openssl, que pode não estar instalada no seu sistema. Ainda bem que há muitos outros exemplos, certo?
openssl rand -base64 32
Este funciona muito como o outro urandom, mas apenas faz o trabalho ao contrário. Bash é muito poderoso!
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
Veja outro exemplo que filtra usando o comando strings, que gera strings imprimíveis de um arquivo, que nesse caso é o recurso urandom.
strings /dev/urandom | grep -o '[:alnum:]' | head -n 30 | tr -d '
'; echo
Aqui está uma versão ainda mais simples do urandom.
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
Este consegue usar o comando dd muito útil.
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
Você pode até criar uma senha aleatória para a mão esquerda, o que permitiria digitar sua senha com uma mão.
Se você vai usar isso o tempo todo, provavelmente é melhor colocá-lo em uma função. Nesse caso, depois de executar o comando uma vez, você poderá usar Randpw sempre que você quiser gerar uma senha aleatória. Você provavelmente gostaria de colocar isso no seu arquivo ~ /.bashrc.
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
Você pode usar essa mesma sintaxe para transformar qualquer uma delas em uma função - basta substituir tudo dentro do {}
E aqui está a maneira mais fácil de criar uma senha a partir da linha de comando, que funciona no Linux, Windows com Cygwin e provavelmente com Mac OS X. Tenho certeza de que algumas pessoas irão reclamar que não é tão aleatório quanto algumas das outras opções. mas honestamente, é aleatório o suficiente se você estiver usando a coisa toda.
date | md5sum
Sim, isso é fácil de lembrar.
Há muitas outras maneiras de criar uma senha aleatória a partir da linha de comando no Linux - por exemplo, o comando mkpasswd, que pode, na verdade, atribuir a senha a uma conta de usuário do Linux. Então, qual é o seu caminho favorito?