Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LOGIN_DUO(8)		    System Manager's Manual		  LOGIN_DUO(8)

NAME
       login_duo -- second-factor authentication via Duo login service

SYNOPSIS
       login_duo [-d] [-c file]	[-h host] [-f user] [command [args...]]

DESCRIPTION
       login_duo  provides secondary authentication via	the Duo	authentication
       service,	executing the user's login shell or command only  if  success-
       ful.

       The following options are available:

       -c	 Specify  an  alternate	configuration file to load. Default is
		 /usr/local/etc/duo/login_duo.conf

       -d	 Debug mode; send logs to stderr instead of syslog.

       -h	 Specify the remote IP address for this	login (normally	 taken
		 from the SSH_CONNECTION environment variable, if set).

       -f	 Specify an alternate Duo user to authenticate as.

       If  login_duo is	installed setuid root (the default), these options are
       only available to the super-user.

       After successful	Duo authentication, the	user's login shell is invoked,
       or if an	alternate command or SSH_ORIGINAL_COMMAND environment variable
       is specified, it	will be	executed via the user's	shell with  a  -c  op-
       tion.

CONFIGURATION
       The  INI-format	configuration  file must have a	"duo" section with the
       following options:

       host	 Duo API host (required).

       ikey	 Duo integration key (required).

       skey	 Duo secret key	(required).

       groups	 If specified, Duo authentication is required only  for	 users
		 whose	primary	 group or supplementary	group list matches one
		 of the	space-separated	pattern-lists (see "PATTERNS" below).

       failmode	 On service or configuration errors that prevent Duo authenti-
		 cation, fail "safe" (allow access) or "secure"	(deny access).
		 Default is "safe".

       pushinfo	 Send command to be approved via Duo Push authentication.  De-
		 fault is "no".

       http_proxy
		 Use  the  specified HTTP proxy, same format as	the HTTP_PROXY
		 environment variable.

       autopush	 Upon successful  first-factor	authentication,	 automatically
		 send  a  login	 request to the	primary	second-factor (usually
		 Duo Push). Can	be "yes" or "no".  Default is "no".

       verified_push
		 Enable	support	for Duo	Verified Push  authentication.	Cannot
		 be used together with autopush.  Default is "no".

       motd	 Print	the  contents of /usr/local/etc/motd to	screen after a
		 successful login. Either "yes"	or "no."  Default is "no".

       prompts	 Number	of login attempts a user gets. Default is 3. If	 using
		 autopush, it is recommended to	set prompts to 1.

       accept_env_factor
		 Look for factor selection or passcode in the DUO_PASSCODE en-
		 vironment  variable,  before prompting	the user. Can override
		 autopush. Default is "no".

       fallback_local_ip
		 If unable to determine	the authentication users's IP address,
		 fallback on the IP address of the server. Default is "no".

       https_timeout
		 Set to	the number of seconds to wait for HTTPS	responses from
		 Duo Security. If Duo Security takes longer than  the  config-
		 ured  number  of  seconds to respond to the preauth API call,
		 the configured	failmode is triggered.	Other  network	opera-
		 tions	such  as DNS resolution, TCP connection	establishment,
		 and the SSL handshake have their own independent timeout  and
		 retry logic. Default is 0, which disables the HTTPS timeout.

       An example configuration	file:

	       [duo]
	       host = api-deadbeef.duosecurity.com
	       ikey = SI9F...53RI
	       skey = 4MjR...Q2NmRiM2Q1Y
	       pushinfo	= yes
	       autopush	= yes

       If  installed setuid root (the default),	login_duo performs Duo authen-
       tication	as a dedicated privilege separation user, requiring  that  the
       configuration file be owned and readable	only by	this user.

PATTERNS
       A  pattern  consists  of	zero or	more non-whitespace characters,	`*' (a
       wildcard	that matches zero or more characters), or `?' (a wildcard that
       matches exactly one character).

       A pattern-list is a comma-separated list	of patterns.  Patterns	within
       pattern-lists may be negated by preceding them with an exclamation mark
       (`!').	For  example, to specify Duo authentication for	all users (ex-
       cept those that are also	admins), and for guests:

	     groups = users,!wheel,!*admin guests

EXAMPLES
       login_duo can be	enabled	system-wide by specifying its full path	 as  a
       ForceCommand in sshd_config(5) to capture any SSH remote	login (includ-
       ing subsystems, remote commands,	and interactive	login):

	       ForceCommand /usr/local/sbin/login_duo

       Similarly, a group of administrators could require two-factor authenti-
       cation  for  login  to a	shared root account by specifying login_duo as
       the forced command for each public key in ~root/.ssh/authorized_keys:

	       command="/usr/local/sbin/login_duo -f alice"
	       ssh-rsa AAAAB2...19Q== alice@example.net
	       command="/usr/local/sbin/login_duo -f bob"
	       ssh-dss AAAAC3...51R== bob@example.net

       A user without root access could	configure their	own account to require
       Duo authentication via the same ~/.ssh/authorized_keys  forced  command
       mechanism and a user-installed (non-setuid) login_duo.

FILES
       /usr/local/etc/duo/login_duo.conf
		 Default configuration file path

AUTHORS
       login_duo was written by	Duo Security <support@duosecurity.com>

NOTES
       When  used to protect remote SSH	access,	only interactive sessions sup-
       port interactive	Duo login. For scp(1), sftp(1),	 rsync(1),  and	 other
       ssh(1)  remote  commands,  login_duo automatically tries	the user's de-
       fault out-of-band factor	(smartphone push or voice callback)  and  dis-
       ables real-time login progress reporting	to provide a clean shell envi-
       ronment.

FreeBSD	ports 15.quarterly     September 3, 2010		  LOGIN_DUO(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=login_duo&sektion=8&manpath=FreeBSD+Ports+15.0.quarterly>

home | help