Una de las mejores cosas de Linux es que puede hacer lo mismo de cientos de formas diferentes, incluso algo tan simple como generar una contraseña aleatoria se puede lograr con docenas de comandos diferentes. Aquí tienes diez formas de hacerlo.
Recopilamos todos estos comandos de Línea de comandos Fu y los probamos en nuestra propia PC con Linux para asegurarnos de que funcionan. Debería poder usar al menos algunos de estos en Windows con Cygwin instalado, aunque no los probamos todos; sin embargo, el último definitivamente funciona.
Genere una contraseña aleatoria
Para cualquiera de estos comandos de contraseña aleatoria, puede modificarlos para generar una longitud de contraseña diferente, o puede usar los primeros x caracteres de la contraseña generada si no desea una contraseña tan larga. Con suerte, estás usando un administrador de contraseñas como Ultimo pase de todos modos, por lo que no es necesario que los memorice.
Este método utiliza SHA para codificar la fecha, se ejecuta en base64 y luego genera los 32 caracteres principales.
fecha +% s | sha256sum | base64 | cabeza -c 32; eco
Este método utilizó la función / dev / urandom incorporada y filtra solo los caracteres que normalmente usaría en una contraseña. Luego genera el top 32.
</ dev / urandom tr -dc _A-Z-a-z-0-9 | head -c $ {1:-32}; echo;
Este usa la función rand de openssl, que puede no estar instalada en su sistema. Menos mal que hay muchos otros ejemplos, ¿verdad?
openssl rand -base64 32
Este funciona de manera muy similar al otro urandom, pero hace el trabajo a la inversa. ¡Bash es muy poderoso!
tr -cd '[:alnum:]' </ dev / urandom | fold -w30 | cabeza -n1
Aquí hay otro ejemplo que filtra usando el comando strings, que genera cadenas imprimibles de un archivo, que en este caso es la función urandom.
cadenas / dev / urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\ n'; eco
Aquí hay una versión aún más simple de la urandom.
</ dev / urandom tr -dc _A-Z-a-z-0-9 | cabeza -c6
Éste se las arregla para utilizar el muy útil comando dd.
dd if = / dev / urandom bs = 1 count = 32 2> / dev / null | base64 -w 0 | rev | cut -b 2- | Rdo
Incluso puede crear una contraseña aleatoria para la mano izquierda, que le permitiría escribir su contraseña con una mano.
</ dev / urandom tr -dc '12345! @ # $% qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; eco ""
Si va a usar esto todo el tiempo, probablemente sea una mejor idea ponerlo en una función. En este caso, una vez que ejecute el comando una vez, podrá usar randpw en cualquier momento que desee generar una contraseña aleatoria. Probablemente desee poner esto en su archivo ~ / .bashrc.
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
Puede usar esta misma sintaxis para convertir cualquiera de estos en una función, simplemente reemplace todo dentro del { }
Y esta es la forma más fácil de crear una contraseña desde la línea de comandos, que funciona en Linux, Windows con Cygwin y probablemente Mac OS X. Estoy seguro de que algunas personas se quejarán de que no es tan aleatorio como algunas de las otras opciones. pero, sinceramente, es bastante aleatorio si vas a usarlo todo.
fecha | md5sum
Sí, eso es bastante fácil de recordar.
Hay muchas otras formas en que puede crear una contraseña aleatoria desde la línea de comandos en Linux, por ejemplo, el comando mkpasswd, que en realidad puede asignar la contraseña a una cuenta de usuario de Linux. Entonces, ¿cuál es tu forma favorita?