Search for blog posts, documentation, or pages


Remote Desktop Protocol (RDP)

Duo integrates with RDP to add two-factor authentication to Remote Desktop logins.

Duo Security’s RDP application is not currently compatible with Windows 10. Support for Windows 10 will be available by mid-August 2015. Please see our FAQ for details.

Important Notes

  1. The Duo RDP integration will add two-factor authentication to all Windows login attempts, whether via a local console or over RDP, unless you select the “Only prompt for Duo authentication when logging in via RDP” option in the installer. If two-factor is enabled for both RDP and console logons, it may be bypassed by restarting Windows into Safe Mode (e.g. in case of a configuration error). If you wish to protect local console logins with Duo, please see the FAQ for some guidance on securing your Windows installation appropriately.
  2. This RDP integration doesn’t support inline self-service enrollment. We recommend using bulk enrollment to send your users unique self-enrollment links via email. Read the enrollment documentation to learn more.

Connectivity Requirements

This integration communicates with Duo’s service on TCP port 443. Also, we do not recommend locking down your firewall to individual IP addresses, since these may change over time to maintain our service’s high availability.

First Steps

Check your server versions before starting. This integration supports Windows Vista to 8.1 clients and Windows server operating systems from 2008 to 2012 R2. Windows 10 support is coming soon!


  1. Sign up for a Duo account.
  2. Log in to the Duo Admin Panel and create a new Microsoft RDP application to get an integration key, secret key, and API hostname. (See Getting Started for help.)
  3. Download the Duo RDP Installer Package:

Enroll a User

Add your first user to Duo, either manually or using bulk enrollment. The username should match your Windows login name. Install Duo Mobile and add your account to it so you can use Duo Push.

Run the Installer

Run the installer with administrative privileges to run it. Accept the license agreement and enter your integration key, secret key, and API hostname when prompted:

Test Your Setup

To test your setup, attempt to log in to your newly-configured system as the user you enrolled in the previous step.

When auto-push is enabled (the default option), a popup will appear notifying you that a login request has been pushed to your phone.

If auto-push is disabled or if you click the Cancel button on the auto-push dialog, a popup will appear asking for a Duo passcode (either generated with Duo Mobile, sent via SMS, or generated with a hardware token).

Alternatively, type “push” into the “Duo Passcode” box to use Duo Push.

Here’s a full list of what you can type into the “Duo Passcode” box:

A passcode Log in using a passcode, either generated with Duo Mobile, sent via SMS (include the first letter), generated by your hardware token, or provided by an administrator.
“push” Perform Duo Push authentication
You can use Duo Push if you’ve installed Duo Mobile and added your account to it
“phone” Perform phone callback authentication
“sms” Send a new batch of SMS passcodes. Your authentication attempt will be denied. You can then authenticate with one of the newly-delivered passcodes.

You can also specify a number after the factor name if you have more than one device enrolled. So you can enter phone2 or push2 if you have two phones enrolled.

Remember: if you find that the Credential Provider has locked you out of your Windows system (e.g. due to a configuration error), you can reboot into Safe Mode to bypass it.


Need some help? Take a look at the RDP Frequently Asked Questions (FAQ) page or try searching our Knowledge Base. For further assistance, contact Support.

Network Diagram

  1. RDP connection initiated
  2. Primary authentication
  3. Duo RDP credential provider connection established to Duo Security over TCP port 443
  4. Secondary authentication via Duo Security’s service
  5. Duo RDP credential provider receives authentication response
  6. RDP session logged in