Generador de contraseñas en Linux: genere contraseñas aleatorias en la línea de comandos

Hay muchas ocasiones en las que nos enfrentamos al problema de crear una contraseña segura. Desafortunadamente, los humanos no son buenos para la casualidad, y crear una contraseña aleatoria es uno de los factores más importantes para tener en cuenta la seguridad y privacidad de los datos hoy en día.

En este artículo, cubriremos cómo crear un script que genere una contraseña verdaderamente aleatoria. La longitud de los caracteres se puede personalizar para satisfacer todas las expectativas.

Tabla de contenido

Cómo lograr la (pseudo)aleatoriedad

En cada dispositivo Unix, hay una serie de archivos que se utilizan como Generadores de números pseudoaleatorios . Uno de los archivos en Linux es /dev/urandom. Puede continuar y ejecutar el comando cat en el archivo y ver algunos resultados binarios creados en la terminal.

                      
cat /dev/urandom

                    
Salida binaria del comando cat en el archivo /dev/urandom

Crear contraseñas aleatorias con solo caracteres alfanuméricos

Es posible que vea algunos caracteres aleatorios en la ventana de su terminal. Primero tenemos que filtrar este ruido y permitir solo caracteres alfanuméricos. Hacemos eso usando el comando strings. También usaremos el comando grep en conjunto para permitir solo ciertos caracteres en la contraseña. Aquí debemos mencionar una distinción importante, no podemos usar el comando estándar, tenemos que usar el indicador -a para que tome la entrada de texto.

                      
cat /dev/urandom | strings |grep -Eoa "[a-zA-Z0-9]*"

                    
Filtrar la salida para que devuelva solo los caracteres especificados

Si ejecuta el comando anterior, verá que solo los caracteres alfanuméricos llegan a la pantalla del terminal. Entonces nuestro filtrado está funcionando como se esperaba.

Si también desea que aparezcan caracteres especiales como @, $, %, etc. en su contraseña, simplemente agregue esos caracteres en la expresión regular de la siguiente manera:

                      
cat /dev/urandom | strings | grep -Eoa "[[email protected]$%&_]*"

                    

Configuración de la longitud de la contraseña

Ahora estableceremos la longitud de la contraseña, usando el comando head, que detendrá la salida una vez que se haya alcanzado el número requerido. Así que el comando ahora se ve así:

                      
cat /dev/urandom | strings | grep -Eoa "[[email protected]$%&_]*" | head -n 10 

                    

Esto solo corta el texto a 10 líneas en lugar de 10 caracteres, sin embargo, todavía es útil, ya que sabemos con certeza que una línea contendrá al menos un carácter (la mayoría de las veces contienen más de uno), así que al ejecutar este comando estamos asegurando que no importa cuál sea la contraseña, tendrá al menos 10 caracteres.

Eliminación de los caracteres de nueva línea

Ahora necesitamos eliminar los caracteres de nueva línea para que nuestra contraseña esté en una línea, lo hacemos usando el comando tr:

                      
cat /dev/urandom | strings | grep -Eoa "[[email protected]$%&_]*" | head -n 10 | tr -d 'n'

                    

En este punto, también ejecutaremos el comando de corte para cortar la contraseña a la longitud final de 10 caracteres:

                      
cat /dev/urandom | strings | grep -Eoa "[[email protected]$%&_]*" | head -n 10 | tr -d 'n'| cut -c1-10

                    
Nuestro bash one-liner para generar (pseudo)contraseñas aleatorias Nuestro bash one-liner para generar (pseudo)contraseñas aleatorias

Conclusión

Felicitaciones, tiene su propia línea para un generador de contraseñas que es completamente personalizable. Puede usar cualquier conjunto de caracteres que desee en su contraseña y no tiene que depender de conjeturas humanas para crear una contraseña segura. ¡Espero que les haya gustado este artículo y gracias por leerlo!

Related Posts