10 maneiras de gerar uma senha aleatória a partir da linha de comando do Linux
Uma das grandes coisas sobre o Linux é que você pode fazer a mesma coisa centenas de maneiras diferentes - até mesmo algo tão simples quanto gerar uma senha aleatória pode ser realizado com dezenas de comandos diferentes. Aqui estão 10 maneiras de fazer isso.
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.
Gere 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 pode usar apenas os primeiros caracteres x 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 a base64 e, em seguida, exibe os 32 principais caracteres.
data +% s | sha256sum | base64 | cabeça-c 32; eco
Esse método usou o recurso interno / dev / urandom e filtra apenas os caracteres que você normalmente usaria em uma senha. Em seguida, ele produz o top 32.
< /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, né?
openssl rand -base64 32
Este funciona muito como o outro urandom, mas faz o trabalho ao contrário. Bash é muito poderoso!
tr -cd '[: alnum:]' < /dev/urandom | fold -w30 | head -n1
Aqui está outro exemplo que filtra usando o comando strings, que gera strings imprimíveis de um arquivo, que neste caso é o recurso urandom.
strings / dev / urandom | grep -o '[[: alnum:]]' | cabeça -n 30 | tr -d '\ n'; eco
Aqui está uma versão ainda mais simples do urandom.
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
Este aqui consegue usar o comando dd muito útil.
dd se = / dev / urandom bs = 1 count = 32 2> / dev / null | base64 -w 0 | rev | corte -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 uma idéia 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 vai querer colocar isso em 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, é bastante aleatório se você vai usar 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 realmente atribuir a senha a uma conta de usuário do Linux. Então, qual é o seu jeito favorito??