Como utilizar una memoria USB como contraseña física en Ubuntu

Aunque me gusta la seguridad que aporta Linux en general y Ubuntu en particular, en cuanto accesos, contraseñas, etc. Lo cierto es es una operación realmente tediosa tener que escribir la contraseña unos cientos de veces cada vez que quieres actualizar los repositorios, o para añadir un nuevo repositorio, o para instalar una nueva aplicación, o porque quieres subir un paquete a Launchpad o por cualquier otro tipo de razón, donde necesites permisos.

Una solución realmente interesante es utilizar una memoria USB, de forma que cuando la tengas montada en tu equipo no te tengas que preocupar de introducir la contraseña.

locker.png

¿Como utilizar una memoria USB para no escribir tu contraseña?…

Utiliza una memoria USB como sistema de contraseñas físico

Cualquiera que utiliza de forma habitual un ordenador dispone de varias memorias USB, incluso seguro que tienes alguna que has dejado de utilizar porque tiene muy poca capacidad, o siempre llevas una porque guardas información sensible.

Cualquiera de las soluciones indicadas anteriormente te vendrá bien para los propósitos de este artículo, y es que, como he mencionado en la introducción, tener que introducir la contraseña cada vez que queremos ganar derechos de administrador, termina por convertirse en una labor tediosa, aunque necesaria.

Requerimientos

Lo primero es instalar los paquetes necesarios. Para ello, en un emulador de terminal ejecuta la siguiente orden,

sudo apt-get install libpam-usb pamusb-tools

Configurando el sistema

El siguiente paso es añadir el dispositivo, la memoria usb, que utilizaremos como herramienta de seguridad para proteger nuestro equipo. De esta forma cuando la memoria usb esté montada y necesitemos ganar derechos de administrador, no necesitaremos introducir la contraseña. Para ello ejecuta la siguiente orden, una vez montada la unidad usb,

sudo pamusb-conf --add-device mi_memoria_usb

Si tienes varias unidades usb montadas tendrás que seleccionar una de ellas,

fish  _012.png

Ahora tendrás que añadir tu usuario para poder utilizar esta memoria usb, para ello ejecuta la siguiente orden,

sudo pamusb-conf --add-user atareao

sudo  _013.png

El siguiente paso es permitir el uso de la memoria usb para estos menesteres. Para esto tienes que editar el archivo /etc/pam.d/common-auth (con derechos de administrador) y añadir la línea

auth    sufficiente pam_usb.so

sudo  _014.png

Probando

Ahora ya lo tienes configurado, pero es necesario probarlo, para ello ejecuta el siguiente comando en un emulador de terminal,

pamusb-check atareao

Con lo que debemos obtener el siguiente resultado,

fish  _015.png

Si desmontamos la memoria usb, el resultado será este otro,

fish  _016.png

Pad checking failed

Ya me ha pasado en mas de una ocasión que el sistema de autenticación da un error, arrojando el siguiente mensaje Pad checking failed. La solución en estos casos es ejecutar la siguiente orden en un emulador de terminal,

rm ~/.pamusb/*

5 comentarios en “Como utilizar una memoria USB como contraseña física en Ubuntu

  1. Jose Galindo hace 6 años

    No se exactamente que es lo que hago mal o si me falta algún detalle pero no logro hacer que funcione
    y en el common-auth esta linea ya esta pero con sufficient no con sufficiente
    auth sufficiente pam_usb.so
    No se si nadie lo ha probado antes pero me encuentro que no va.

  2. Carlos Perez hace 5 años

    hola amigo, soy bastante nuevo en esto de linux, la verdad me ha gustado mucho aprender y me gusta esta idea que nos traes, estoy usando linux mint, pero empezando por el primer comando no he podido encontrar los paquetes «libpam-usb, pamusb-tools»
    la terminal me arroja este error:
    E: No se ha podido localizar el paquete pamusb-tools
    E: No se ha podido localizar el paquete libpam-usb
    entonces no puedo iniciar el proceso.
    si fueses tan amable y me indicas como podria descargar los paquetes, o mas bn puedas actualizar el post seria muy bueno

    gracias de antemano

    1. El atareao hace 5 años

      Hola Carlos,

      ¿Que versión de Linux Mint estás utilizando?

      Gracias y un saludo

      1. Carlos Perez hace 5 años

        Amigo gracias por responder.
        Uso mint 18.
        trate de poner los paquetes por separado pero no me dio resultado.
        ahora obtengo este mensaje.
        despues del comando: sudo apt-get install libpam-usb pamusb-tools
        esta es la respuesta:
        Leyendo lista de paquetes… Hecho
        Creando árbol de dependencias
        Leyendo la información de estado… Hecho
        El paquete libpam-usb no está disponible, pero algún otro paquete hace referencia
        a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
        encuentra disponible desde alguna otra fuente
        Sin embargo, los siguientes paquetes lo reemplazan:
        pamusb-common

        El paquete pamusb-tools no está disponible, pero algún otro paquete hace referencia
        a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
        encuentra disponible desde alguna otra fuente
        Sin embargo, los siguientes paquetes lo reemplazan:
        pamusb-common

        E: El paquete «libpam-usb» no tiene un candidato para la instalación
        E: El paquete «pamusb-tools» no tiene un candidato para la instalación

        como ves hay un paquete que dice que los reemplaza, pero mira que despues del siguiente comando, no hay nada parecido al tuto.. sudo pamusb-conf –add-device mi_memoria_usb
        esta es la respuesta:
        Traceback (most recent call last):
        File «/usr/bin/pamusb-conf», line 252, in
        ‘/org/freedesktop/UDisks’)
        File «/usr/lib/python2.7/dist-packages/dbus/bus.py», line 241, in get_object
        follow_name_owner_changes=follow_name_owner_changes)
        File «/usr/lib/python2.7/dist-packages/dbus/proxies.py», line 248, in __init__
        self._named_service = conn.activate_name_owner(bus_name)
        File «/usr/lib/python2.7/dist-packages/dbus/bus.py», line 180, in activate_name_owner
        self.start_service_by_name(bus_name)
        File «/usr/lib/python2.7/dist-packages/dbus/bus.py», line 278, in start_service_by_name
        ‘su’, (bus_name, flags)))
        File «/usr/lib/python2.7/dist-packages/dbus/connection.py», line 651, in call_blocking
        message, timeout)
        dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UDisks was not provided by any .service files

        ahi no se que mas pueda hacer, te agradezco si me desenredas esa pita.

        1. El atareao hace 5 años

          Nada, no está disponible para Xenial – Sarah, he estado buscando repositorios y tampoco he tenido ninguna suerte…

          Lo lamento. Un saludo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *