Generar passwords aleatorios en la terminal de Linux

Published:

Si bien podemos usar aplicaciones para generar contraseñas como LastPass o Keepass, nosotros vamos a ver 10 alternativas para la terminal de Linux, jugando con algunos comandos que vienen instalados en nuestra distribución. La idea es poder llevarte la que más simple te resulte con algunos ejemplos.

1- Usando data y haciendo que la contraseña tenga una longitud de 30 caracteres.

date +%s | sha256sum | base64 | head -c 30 ; echo

2- Este método usa la función /dev/urandom y filtra solo los caracteres _ de la letra a hasta la z en mayúscula y minúscula y con una longitud de 25

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-25};echo;

3- Usando openssl, que es posible que debas instalar si no esta.

openssl rand -base64 30

4- Este funciona de manera muy similar al otro urandom, pero solo hace el trabajo a la inversa.

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

5- Usando el comando strings, que genera cadenas imprimibles desde un archivo, pero en este caso llama a la función urandom.

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo

6- Aquí hay una versión aún más simple de la de urandom.

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

7- Con el famoso comando dd

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

8- Volvemos con urandom pero combinando signos

</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c12; echo ""

9- Otra alternativa con la función randpw

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;}

10- Una fácil de recordar

date | md5sum
- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles