Linux Desktop Login with 2FA Tutorial


Find out why our Two-Factor Authentication is the best, some key-facts for developers and why you should upgrade to SecSign for your business.

Learn more about the options of on-premise use and your own customized ID App in your corporate design.

Download the plugin as cloud version for a free and convenient protection.

The Pluggable Authentication Modules (PAM) is a software library which offers a general programming interface for authentication services. By using the PAM-API one does no longer need to define the settings for every single authentication application. Instead, individual standarized modules can be used.

The modules can be assigned to individual services in the configuration file. There is no need to change the compilation of the corresponding software. PAM is available for AIX, HP-UX, Solaris, Linux, FreeBSD, NetBSD, Mac OS X and DragonFly BSD.

Table of contents

    Start right now! Questions?

    Feel free to get in touch with us if you need help setting up your SecSign ID plugin or to request a plugin for a not yet supported environment.


    1. Installation

    Please read the SecSign ID PAM Tutorial before using the SecSign ID PAM for Linux Desktop Authentication. Follow steps 3 to 5 to configure and install PAM correctly.

    2. Configuration

    In this example, we use the Ubuntu flavor. To add two-factor authentication to the graphical login, open the configuration file /etc/pam.d/lightdm and activate the utilization of the SecSignID PAM:

    Save the file and reboot the SSH server with

    Log out and try the SecSign ID Two-Factor Authentication.

    linux login 2fa with secsignid

    3. Troubleshooting

    Compilation errors

    The library libcurl needs to be installed in the standard path, otherwise make fails. If libcurl is not on the standard path the compilation needs to be executed manually.

    Authentication errors

    If the authentication fails the debug- and logmodus should be activated (see PAM debug- and logmodus) and the output should be written in a file. This is necessary since PAM normally needs to be silent and does not allow for output for security reasons. If no log- or debug-files are generated the paths provided in secsignid.c are incorrect or no read-and-write authorizations are available.

    A log-file is produced stating all errors. It is determined if libcurl works accurate, if the SecSign ID server is available, if port 443 is available to communicate with the server, if the configuration file is available and if PAM has reading authorization.

    A debug file is created which records the interface communication. It is determined wether errors in the communication persists because no SecSign ID for the specific user was found or if there are errors in a different parameter, for example the service name.


    Because we just enabled the 2FA for graphical logins, it should be easy to disable if it causes a problem. Press a key combination like Ctrl + Alt + F2 to access a virtual terminal and log in there with your username and password. You can then use a command like

    to open the file for editing in a terminal text editor. Save the file and you’ll be able to log in normally again.

    4. Available APIS

    We provide an ever growing list of APIs and plugins to easily integrate the SecSign ID Two-Factor Authentication in any project. An overview is available at Plugin and APIs.
    We do not only offer APIs in different programming languages but also plugins for CMS, Server and VPN environments, oAuth2 and many more. These plugins use our APIs and offer additional functionalities, for example user management, easy and native installation, logging or integration in firewalls or Active Directory.

    The JIRA plugin for example uses the JAVA-API. The PHP-Api and JS-API is used by WordPress, Joomla, Drupal, Typo3 and many more. The is used for the Windows and Cisco VPN and the C-API is used for protecting Unix SSH services. The Objective-C API is used by our AppleTV and iPhone/iPad apps.


    5. See for yourself

    You can experience the SecSign ID two-factor authentication and the two-factor login by simply integrating the plugin into your website or test environment. Or you can try out the login process on our website without having to register first. You already have a SecSign ID or you want one? Login now and use the portal or use our hassle free registration.

    See for yourself how fast and convenient the login process using challenge-response authentication with 2048-bit key pairs is. There is no need for passwords, and no passwords or other confidential information are ever transmitted. It is easy to integrate and simple to use.

    For more information about the patented SafeKey procedure and it's unique security can be found here.

    If you are missing an API for the programming language you are working with, feel free to contact us and we’ll find a solution with you. If you need help with the integration into an existing system or you can’t find the plugin for your content management system you are working with, don’t hesitate to contact our support team.

    Your own ID-Server

    On premise installations of SecSign ID offer the flexibility to connect with your preferred servers, services, and devices. And you can customize the SecSign ID with your own organization’s branding.


    Why upgrade to SecSign?

    On-premise or in the cloud

    Choose between our SecSign ID Cloud or operate your own on-premise Two-Factor Authentication server.

    Easy customization

    Operate your own YourBrand ID app - Two-Factor Authentication customized to your needs.

    Ready-to-use SDK

    Integrate SecSign ID Two-Factor Authentication in existing apps with our ready-to-use SDK.

    Easy user management

    Use the Two-Factor Authentication Server to secure your company Active Directory/LDAP. Your own Identity and Access Management System, for example for mandatory updates and additional security features.

    Cover all logins

    Integration in any login environment: web, local, VPN, remote desktop, mobile logins and many more.

    Plugins for all your needs

    No need for complex integration: we have plugins for almost all environments.

    Do NOT follow this link or you will be banned from the site!