Provided by: libpam-yubico_2.27-1_amd64 bug

NAME

       pam_yubico - Module for YubiKey authentication

SYNOPSIS

       pam_yubico [...]

DESCRIPTION

       The module is for authentication of YubiKeys, either with online validation of OTP, or
       offline validation with HMAC-SHA1 challenge-response.

OPTIONS

       debug
           Turns on debugging.

       debug_file=file
           File name to write debug to, the file must exist and be a regular file. Defaults to
           stdout.

       mode=[client|challenge-response]
           Mode of operation, client for OTP validation and challenge-response for
           challenge-response validation. Defaults to client.

       authfile=file
           Location of the file that holds the mappings of YubiKey token IDs to user names. The
           format is username:first_public_id:second_public_id:... Default location of the file
           is $HOME/.yubico/authorized_yubikeys.

       id=id
           Your API client identity for the validation server.

       key=key
           Your client key in base64 format. The client key is also known as API key, and
           provides integrity in the communication between the client (you) and the validation
           server. If you want to get one for use with the default YubiCloud service, please go
           to: https://upgrade.yubico.com/getapikey/

       alwaysok
           Succeed with all authentication attempts (dangerous, presentation mode).

       try_first_pass
           Before prompting the user for their password, the module first tries the previous
           stacked module´s password in case that satisfies this module as well.

       use_first_pass
           Forces the module to use a previous stacked modules password and will never prompt the
           user - if no password is available or the password is not appropriate, the user will
           be denied access.

       always_prompt
           If set, don’t attempt to do a lookup to determine if the user has a YubiKey configured
           but instead prompt for one no matter what. This is useful in the case where
           ldap_bind_as_user is enabled but this module is being used to read the user’s password
           (in a YubiKey+OTP auth scenario).

       nullok
           Don’t fail when there are no tokens declared for the user in the authorization mapping
           files or in LDAP. This can be used to make YubiKey authentication optional unless the
           user has associated tokens.

       ldap_starttls
           If set, issue a STARTTLS command to the LDAP connection before attempting to bind to
           it. This is a common setup for servers that only listen on port 389 but still require
           TLS.

       ldap_bind_as_user
           Use the user logging in to bind to ldap. This will use the password provided by the
           user via PAM. If this is set, ldapdn and uid_attr must also be set. Enabling this will
           cause ldap_bind_user and ldap_bind_password to be ignored.

       urllist=list
           List of URL templates to be used. This is set by calling ykclient_set_url_bases. The
           list should be in the format:
           https://api1.example.com/wsapi/2.0/verify;https://api2.example.com/wsapi/2.0/verify

       url=url
           This option should not be used, please use the urllist option instead. Set the URL
           template to use, this is set by calling ykclient_set_url_template. The URL should be
           set in the format https://api.example.com/wsapi/2.0/verify?id=%d&otp=%s

       capath=path
           The path where X509 certificates are stored. This is required if https or ldaps are
           used in url and ldap_uri, respectively.

       cainfo=file
           Option to allow for usage of a CA bundle instead of path.

       proxy=proxy
           The proxy to connect to the validation server. Valid schemes are http://, https://,
           socks4://, socks4a://, socks5:// or socks5h://. Socks5h asks the proxy to do the DNS
           resolving. If no scheme or port is specified HTTP proxy port 1080 will be used.
           Example: socks5h://user:pass@10.10.0.1:1080

       verbose_otp
           Show the One-Time Password when it is entered, i.e. to enable terminal echo of entered
           characters. You are advised to not use this, if you are using two factor
           authentication because that will display your password on the screen. This requires
           the service using the PAM module to display custom fields. This option can not be used
           with OpenSSH.

       ldap_uri=uri
           The LDAP server URI (e.g. ldap://localhost).

       ldap_server=server
           The LDAP server host (default LDAP port is used).  Deprecated. Use ldap_uri instead.

       ldapdn=dn
           The distinguished name (DN) where the users are stored (eg:
           ou=users,dc=domain,dc=com). If ldap_filter is used this is the base from which the
           subtree search will be performed.

       ldap_clientcertfile=clientcertfile
           The path to a client cert file to use when talking to the LDAP server. Note this
           requires ldap_clientkeyfile to be set as well.

       ldap_clientkeyfile=clientkeyfile
           The path to a key to be used with the client cert when talking to the LDAP server.
           Note this requires ldap_clientcertfile to be set as well.

       user_attr=attr
           The LDAP attribute used to store user names (eg:cn).

       yubi_attr=attr
           The LDAP attribute used to store the YubiKey ID.

       yubi_attr_prefix=prefix
           The prefix of the LDAP attribute’s value, in case of a generic attribute, used to
           store several types of IDs.

       token_id_length=length
           Length of ID prefixing the OTP (this is 12 if using the YubiCloud).

       ldap_bind_user=user
           The user to attempt a LDAP bind as.

       ldap_bind_password=password
           The password to use on LDAP bind.

       ldap_filter=filter
           A LDAP filter to use for attempting to find the correct object in LDAP. In this string
           %u will be replaced with the username.

       ldap_cacertfile=cacertfile
           CA certitificate file for the LDAP connection.

       chalresp_path=path
           Path of a system-wide directory where challenge-response files can be found for users.
           Default location is $HOME/.yubico/.

       mysql_server=mysqlserver
           Hostname/Adress of mysql server. Example 10.0.0.1

       mysql_port=mysqlport
           Network port of mysql server.

       mysql_user=mysqluser
           User for accessing to the database. Strongly recommended to use a specific user with
           read only access.

       mysql_password=mysqlpassword
           Mysql password associated to the user.

       mysql_database=mysqldatabase
           the name of the database. Example : otp

EXAMPLES

           auth sufficient pam_yubico.so id=16 debug

           auth required pam_yubico.so mode=challenge-response

           auth required pam_yubico.so id=16 ldap_uri=ldaps://ldap.example.com ldap_filter=(uid=%u) yubi_attr=yubiKeyId

FILES

       $HOME/.yubico/authorized_yubikeys
           If authfile is not set, this file is used for the mapping between YubiKey public ID
           and in client mode.

       $HOME/.yubico/challenge, $HOME/.yubico/challenge-serial_number
           If chalresp_path is not set, these files are used to hold next challenge and expected
           response for the user in challenge-response mode. If chalresp_path is set the filename
           will be username instead of challenge.

BUGS

       Report yubico-pam bugs in the issue tracker: https://github.com/Yubico/yubico-pam/issues

SEE ALSO

       ykpamcfg(1), pam(7)

       The yubico-pam home page: https://developers.yubico.com/yubico-pam/

       YubiKeys can be obtained from Yubico: http://www.yubico.com/