GNU/Linux >> Tutoriales Linux >  >> Linux

10 formas de generar una contraseña aleatoria en Linux

En cualquier entorno y dominio de sistema, la seguridad de los datos y servicios alojados por este sistema merece la máxima prioridad. Es esencial asegurar adecuadamente un SO u otros sistemas cuya seguridad dependa de una contraseña generada. Esto hace que el uso de una contraseña segura sea una huella importante para todos los usuarios. Las contraseñas que usa en sus sistemas ayudan a proteger sus datos y las actividades de los usuarios de intrusos no autenticados. La forma en que crea estas contraseñas debe ser impredecible.

Esta imprevisibilidad le otorgará la autenticidad necesaria como usuario o administrador del sistema. Los algoritmos para generar tales contraseñas les otorgarán la unicidad necesaria si su creación está orientada a máquina. Por esta razón, no siempre podemos depender de nuestra inigualable creatividad para generar representaciones de contraseñas indescifrables. Necesitamos la reputación y la experiencia de alguien demasiado bueno en este juego de generación de contraseñas. No hay mejor candidato para este puesto que el Salón de la Fama, Sistema Operativo Linux.

Lógica de generación de contraseña

Siempre se encontrará usando una combinación de contraseña con un nombre de usuario para acceder a una computadora local o sitio web en Internet. Las frases de contraseña que use deben ser lo suficientemente seguras, únicas y complejas para que pueda estar seguro de su autenticación a través de la web o los servicios alojados y las aplicaciones que está utilizando.

Al registrarse en la mayoría de las plataformas que necesitan autenticación de contraseña, estas plataformas a menudo le darán una guía de configuración de contraseña a seguir. Es posible que se le recomiende cumplir con el requisito mínimo de 14 caracteres para una longitud de contraseña segura. Estas variaciones de caracteres también deberán contener alfabetos con consideraciones de mayúsculas y minúsculas, números e incluso símbolos de teclado. Es un enfoque que sirve a muchos usuarios. Pero, ¿qué sucede si no es lo suficientemente paciente o tiene la mentalidad creativa de descifrar una contraseña única y segura cada vez que la necesita?

En una plataforma Linux, puede lograr este objetivo de contraseña en segundos sin siquiera estirar los músculos de su cerebro. La mayoría, si no todas, de estas técnicas de generación de contraseñas que evaluaremos en este artículo requieren que tenga una base sólida o esté familiarizado con la interfaz de línea de comandos de Linux. Las diversas metodologías y utilidades de generación de contraseñas se adaptan cómodamente al entorno de línea de comandos de Linux.

Generar una contraseña aleatoria en Linux

Depende de usted seleccionar la técnica de generación de contraseñas que encuentre fácilmente adaptable para su uso.

Método 1:generación de contraseñas de Linux con OpenSSL

Este enfoque requiere que primero inicie su terminal o interfaz de línea de comandos. A continuación, tomaremos prestada la eficacia de OpenSSL Rand Function para crear una combinación de contraseña segura. Este ejemplo de función genera 14 caracteres de cadena aleatorios como la contraseña de usuario generada. Implemente este enfoque de generación de contraseñas ejecutando la siguiente cadena de comando en su terminal Linux.

$ openssl rand -base64 14

El resultado de mi parte fue capaz de generar esta contraseña de 14 caracteres que no se puede piratear.

1ehAW3ZpL0H1Ny+jniQ=

Método 2:generación de contraseñas de Linux con Urandon

El segundo comando en esta lista para generar contraseñas imposibles de piratear en su sistema Linux es a través de urandom. Este comando funciona porque se genera una contraseña a través de /dev/urandon y luego emitido a través de un tr argumento. Es un mecanismo de filtrado para ignorar los caracteres generados no deseados.

En este caso, digamos que todavía queremos una contraseña de 14 caracteres, el mecanismo de filtrado implementado en este método solo imprimirá los primeros 14 caracteres generados por la contraseña e ignorará el resto. Si necesita más de 14 caracteres para su contraseña, puede especificar la longitud deseada de la contraseña editando el c14 argumento que aparece en la siguiente cadena de comando.

$ sudo < /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo

La salida por mi parte produjo la siguiente cadena de contraseña única.

fJby4dNhuiUDnu

Es posible que haya notado que ejecutar este comando requiere que un usuario tenga privilegios de Sudo. Es porque estamos accediendo a algunos entornos de archivos del sistema Linux para generar la cadena de contraseña que necesitamos. Solo un usuario de Sudoer tiene derechos de acceso a dichos archivos.

Método 3:generación de contraseñas de Linux con pwgen

Este enfoque requiere una herramienta con el nombre pwgen. A diferencia de los primeros dos enfoques incorporados para generar contraseñas de Linux, pwgen no está preempaquetado en su sistema Linux y primero deberá instalarlo. El siguiente comando de instalación de pwgen se aplica a los sistemas operativos Linux basados ​​en Debian, Arch y RPM, respectivamente.

$ sudo apt install pwgen
$ sudo pacman -S pwgen
$ sudo yum install pwgen

La duración de la instalación debería tardar menos de un minuto en completarse. Luego, utilizará el pwgen comando para especificar la longitud de la cadena de contraseña que desea generar. Por ejemplo, elegí generar una contraseña de 15 caracteres a partir de este comando.

$ pwgen 15 1

La siguiente es la contraseña única emitida desde el terminal.

rae4Quaw6ierieb

Método 4:generación de contraseñas de Linux con gpg

Este es otro enfoque incorporado para generar una contraseña de sistema de usuario segura y única. Tiene la libertad de especificar la longitud de la contraseña que desea generar. Nos quedaremos con la longitud de la contraseña de 14 caracteres generada por los otros métodos que revisamos. Puede editar el argumento de 14 enteros, parte de su comando, si necesita que su contraseña sea más larga. Copie la siguiente cadena de comando en su terminal Linux.

$ gpg --gen-random --armor 1 14

Por mi parte, pude lograr el siguiente resultado.

cB5jR27PZr/YZZJfr9A=

La inclusión de símbolos distintos de letras y números en la contraseña generada hace que este enfoque tenga un rendimiento único en un entorno práctico como un servidor en la nube o sitios web y plataformas financieras.

Método 5:generación de contraseñas de Linux con SHA

Todos los entusiastas de Linux están familiarizados con el término SHA. Es una abreviatura de Secure Hash Algorithm, que lo clasifica como una función hash criptográfica. Se encontrará utilizando esta herramienta principalmente para proteger archivos o la integridad de los datos a través de hashes. Ayuda a comparar el estado de un archivo o datos antes y después de su descarga.

Estas dos instancias de hash deben coincidir para que el estado de integridad del archivo de descarga y los datos sean concluyentes. Estos hash generados son tan únicos que podemos aplicar hash a cualquier cosa, incluso a la función de fecha de Linux, y utilizar el hash generado como usuario único o contraseña del sistema. Considere el siguiente ejemplo de implementación de la función hash:

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

Probé esta función hash para producir una contraseña de 30 caracteres y los resultados nunca decepcionaron.

ZDc1NDE2YjNhMzE0NmI4NmIyNmEwOW

Método 6:generación de contraseñas de Linux con el algoritmo MD5

MD5 es otra función hash que es efectiva para generar un valor de 128 bits. Se reconoce como un algoritmo de resumen de mensajes debido a su utilidad como función hash criptográfica. Puede usarlo para codificar cualquier función del sistema, y ​​la salida generada será su frase única para usar como contraseña. Es fácil de implementar a través de la interfaz de línea de comandos de Linux. Dado que ya aplicamos hash a la función de fecha en el enfoque anterior de generación de contraseñas, intentemos aplicar hash a la función de calendario y veamos qué se genera como resultado. O podemos hacer ambas cosas.

$ date | md5sum

Salida:

75111fa81779934d48150aca85a20bd5

El siguiente comando usa md5 con la función de calendario de Linux.

$ cal | md5sum

Salida:

e2772fc86ded596812b3acf507ab204d

Como puede ver, podríamos generar frases únicas para usar como contraseñas de las funciones de fecha y calendario de Linux. Solo piense en una herramienta del sistema que la terminal de Linux pueda acomodar y vincúlela con el algoritmo MD5 para generar caracteres de cadena que califiquen como frases de contraseña supremas. Incluso puedes usar sudo con este algoritmo md5 y genere una frase única para ser utilizada como sistema y contraseña de usuario.

$ sudo | md5sum

Salida:

d41d8cd98f00b204e9800998ecf8427e

Método 7:generación de contraseñas de Linux con apg

APG es otra herramienta eficaz para automatizar la generación de frases de contraseña únicas en un entorno Linux. Esta herramienta está preempaquetada con el sistema operativo o se instala durante la instalación del sistema operativo en un sistema Ubuntu Linux. Usar esta utilidad es fácil y su enfoque es diferente de los otros mecanismos de generación de contraseñas que hemos manejado hasta ahora. Toma una entrada aleatoria y genera una variedad de opciones de frase de contraseña. De estas opciones, seleccionará la frase que mejor le funcione como contraseña. Generar estas opciones de frase de contraseña aleatoria es tan fácil como ejecutar la cadena de comando apg -a 1 . Las diferentes opciones de salida tendrán una longitud de 8 a 10 caracteres aleatorios únicos. Es hora de ser más práctico con este enfoque de generación de contraseñas de APG.

$ apg -a 1

Salida:

>7=z'pgQVb
kVA/Vl/?6
WQ?I4eT22T
NhZS=4dc<J
S~cX[9&[
rJ_Oj+X|=f

Como puede ver, la salida ha revelado seis opciones únicas. Puede elegir ir con cualquiera de las frases generadas, o puede usarlas todas en sus diversos requisitos de contraseña. Es un enfoque único para generar muchas contraseñas a la vez sin necesidad de ejecutar un solo comando una y otra vez para obtener la cantidad deseada de frases de contraseña.

Método 8:generación de contraseñas de Linux con makepasswd

Primero debe instalarlo para usar esta utilidad, ya que no está integrada como la mayoría de los enfoques que hemos cubierto. Para los sistemas Linux basados ​​en Debian, Arch y RPM, respectivamente, makepasswd el comando de instalación es sencillo.

$ sudo apt install makepasswd
$ sudo pacman -S makepasswd
$ sudo yum install makepasswd

Como habrá notado, también deberá ser usuario de Sudoer para obtener los permisos de ejecución para instalar este paquete. Usar makepasswd es simple e incluso más flexible que apg Acercarse. Su cadena de comando admite el uso de un argumento entero para especificar el número de resultados de frase de contraseña que desea generar. Como el apg El enfoque genera seis instancias de contraseña en una sola ejecución de comando, makepasswd puede generar más opciones de frase de contraseña y también especificar la longitud de caracteres de estas frases de contraseña. ¿Qué tal una demostración?

$ makepasswd -count 10 -minchars 10

Salida:

qSc75pVzUN

NNrggFKgCf

uqa6WYyabi

wnEuFQd81y

wLcJfEz5Cq

THR8jUB5VT

0jaSe88Jaz

5J064vidyA

UPsnHbB12g

B9rtrLmqrN

Como puede ver, la salida de la línea de comandos hizo exactamente lo que esperábamos. Hasta ahora, en términos de flexibilidad y precisión, podemos coronar el makepasswd enfoque como el último favorito entre las herramientas de generación de contraseñas. Sin embargo, no deberíamos estar demasiado emocionados por llegar a esta conclusión, ya que quedan dos candidatos más para que los revisemos.

Método 9:generación de contraseñas de Linux con Perl

Este lenguaje de programación de alto nivel puede crear scripts que generarán frases de contraseña únicas y útiles. La mayoría de las distribuciones de Linux admiten Perl en sus repositorios predeterminados. Puede verificar la instalación de Perl en su sistema Linux ejecutando el siguiente comando:

$ perl -v

El comando revela la versión de Perl instalada en su entorno Linux. Si Perl no existe o recibe un mensaje de error al ejecutar el comando anterior, significa que necesita realizar una nueva instalación de Perl en su sistema Linux. Los siguientes comandos de instalación se adaptan a los sistemas Linux basados ​​en Debian, Arch y RPM.

$ sudo apt install perl
$ sudo pacman -S perl
$ sudo yum install perl

Los archivos Perl suelen tener un .pl extensión. Después de que logre confirmar su existencia o instalación en su sistema operativo Linux, necesitamos crear un archivo o secuencia de comandos Perl para generar nuestras frases de contraseña. Cree un archivo con un nombre como mi_contraseña s_ generador .pl y ábralo desde un editor de código fuente.

~/Desktop$ touch my_passwords_generator.pl

Alternativamente, abra este archivo Perl desde la terminal.

$ nano my_passwords_generator.pl

Rellene el archivo Perl con el siguiente código script.

#!/usr/bin/perl

my @alphanumeric = ('a'..'z', 'A'..'Z', 0..9);

my $random_password = join '', map $alphanumeric[rand @alphanumeric], 0..8;

print "$random_password\n"

La ejecución de este script de Perl debería generar una salida de frase de contraseña única.

$ perl my_passwords_generator.pl

Salida:

LZJZcxr8A

Dado que la ejecución del script de Perl se realiza desde la terminal, asegúrese de estar en el mismo directorio que el archivo de Perl antes de ejecutar el comando de ejecución. En mi caso, guardé el archivo Perl en la carpeta Escritorio de mi sistema operativo Linux y luego abrí la línea de comandos o la terminal desde allí, lo que facilitó el acceso y la ejecución del archivo. El enfoque es lo suficientemente ideal como para especificar la longitud de la contraseña que desea generar a través de un argumento de comando.

Método 10:generación de contraseñas de Linux con xkcdpass

El último candidato en la lista de generadores de contraseñas aleatorias de este artículo es xkcdpass . Esta utilidad es flexible y programable para generar frases de contraseña únicas. La instalación de muchas distribuciones de Linux lo empaqueta previamente como una utilidad del sistema. Si su sistema Linux no tiene xkcdpass, puede instalarlo usando los siguientes comandos.

Estos comandos de instalación funcionan para distribuciones de Linux basadas en Debian, Arch y RPM.

$ sudo apt install xkcdpass or $ sudo snap install xkcdpass
$ sudo pacman -S xkcdpass
$ sudo yum install xkcdpass

Usar esta utilidad es tan simple como ejecutar el siguiente comando:

$ xkcdpass

Salida:

cabana pursuit available dimmed sandlot sporting

Como puede ver, esta metodología genera frases de contraseña únicas que se pueden aplicar como contraseñas en escenarios que no exigen un alto nivel de seguridad. No es una opción ideal para plataformas/servicios financieros o plataformas de computación en la nube. Podría considerar usar estas frases de contraseña en plataformas como cuentas de redes sociales o sitios de blogs donde muchos atacantes de red o piratas informáticos no atacan su infraestructura de seguridad.

El comando anterior produjo seis opciones de frase de contraseña de forma predeterminada. Si necesita generar más frases de contraseña, implemente el -n opción con un argumento entero como parte del comando xkcdpass. Por ejemplo, podríamos generar 11 frases de contraseña del siguiente comando.

$ xkcdpass -n 11

Salida:

confusion kennel humming unnatural plenty defraud vineyard stunning shindig voucher survive

Hay más en xkcdpass. Puede aprender cómo implementar frases de contraseña más complejas desde xkcdpass ejecutando el siguiente comando.

$ man xkcdpass

Nota final

La generación de contraseñas a través de un sistema operativo Linux no limita su uso únicamente a entornos de sistemas operativos. Es posible que esté buscando una forma única de proteger su cuenta de correo electrónico, cuenta de redes sociales, sitio de blog, sitio de comercio electrónico o incluso sus servidores en la nube.

Quizás se esté preguntando cómo usaré más de una contraseña cuando sus patrones generados son demasiado complejos para memorizar. La solución es simple, considere usar las numerosas carteras de contraseñas o administradores de contraseñas compatibles con Linux para proteger sus contraseñas generadas. Ahora tiene dos soluciones para su problema de contraseña; cómo crearlos y guardarlos bajo llave hasta que su uso sea obligatorio.


Linux
  1. 10 formas de analizar archivos binarios en Linux

  2. 4 formas de generar una clave precompartida sólida (PSK) en Linux

  3. Cómo generar/cifrar/descifrar contraseñas aleatorias en Linux

  4. Cómo administrar la contraseña de la cuenta en Linux

  5. 3 formas de listar usuarios en Linux

Generación de números aleatorios desde la terminal de Linux

3 formas de configurar una interfaz de red en Linux

8 formas de generar una contraseña aleatoria en Linux Shell

4 formas de crear un nuevo archivo en Linux

Maneras simples de generar una contraseña aleatoria en Linux Shell

6 formas de generar una contraseña segura en Debian