Welcome to MSDN Blogs Sign in | Join | Help

How to enable Single Sign-On for my Terminal Server connections

Note: This post was updated on March 12, 2009, to include the latest information. 

What is Single Sign-On?

When applied to Terminal Services, Single Sign-On means using the credentials of the currently logged on user (also called default credentials) to log on to a remote computer. If you use the same user name and password logging on to your local computer and connecting to a Terminal Server, enabling Single Sign-On will allow you to do it seamlessly, without having to type in your password again.

Locally logged on credentials are used for connecting to TS Web Access, however, they cannot be shared across TS Web Access and TS or TS Gateway. Thus you will need to enable the Group Policy settings described below in order to use locally logged on credentials for TS or TS Gateway connections.

How to enable Single Sign-On?

Single sign-On can be enabled using domain or local group policy.

  1. Log on to your local machine as an administrator.
  2. Start Group Policy Editor - "gpedit.msc".
  3. Navigate to "Computer Configuration\Administrative Templates\System\Credentials Delegation".
    Group Policy Editor
  4. Double-click the "Allow Delegating Default Credentials" policy.
  5. Enable the policy and then click on the "Show" button to get to the server list.
    Group Policy 
  6. Add "TERMSRV/<Your server name>" to the server list. You can add one or more server names. Using one wildcard (*) in a name is allowed. For example to enable Single Sign-On to all servers in "MyDomain.com" you can type "TERMSRV/*.MyDomain.com". (Notice the "Concatenate OS defaults with input above" checkbox on the picture above. When this checkbox is selected your servers are added to the list of servers enabled by OS by default. For Single Sign-On this default list is empty, so the checkbox has no effect.)
    Group Policy Value
  7. Confirm the changes by clicking on the "OK" button until you return back to the main Group Policy Object Editor dialog.
  8. At a command prompt, run "gpupdate" to force the policy to be refreshed immediately on the local machine.
  9. Once the policy is enabled you will not be asked for credentials when connecting to the specified servers.

What are the limitations when using Single Sign-on?

  • Single Sign-On works only when connecting from an XP SP3, Vista or a Windows Server 2008 machine to a Vista or Windows Server 2008 machine. Please see this KB article about enabling CredSSP on XP SP3 which is required for Single Sign-On.
  • If the server you are connecting to cannot be authenticated via Kerberos or SSL certificate, Single Sign-On will not work. You can circumvent this restriction by enabling "Allow Default Credentials with NTLM-only Server Authentication" policy, which is less secure. (NTLM-only Server Authentication is less secure compared to using Certificates or Kerberos.)
  • If you have saved credentials for the target machine they take precedence over the current credentials.
  • Single Sign-On works only when using domain user accounts. Please see section below regarding user experience for non-domain clients.
  • If the Terminal Server connection is configured to go through a TS Gateway server then in some cases the settings of the TS Gateway server can override the TS Single Sign-on setting.
  • If the terminal server is configured to Always prompt or RDP file setting Always prompt, then Single Sign-on to TS will not work.
  • Single Sign-on only works with Passwords. Does not work with Smartcards.

Why is Single Sign-On controlled by Group Policy?

As a part of the logon process TS Client sends the actual user credentials (user name and password) to the server. If a code running as a regular user were allowed to enable Single Sign-On, any malicious software (virus, Trojan, spyware etc.) running in the user's session would be able to send the user's password to any machine on the network. So, only administrators should be allowed to decide which servers are safe for Single Sign-On.

Thus Single Sign-On can only be enabled on domain-joined client machines.

What if I have Single Sign-On enabled but want to use different credentials this time?

Start TS Client. Click the "Options" button. Select the "Always ask for credentials" checkbox. You will be asked for credentials next time you connect.

TS Client

How do I enable Single Sign-on for TS Gateway Server?

  1. On a Vista machine open up the "Group Policy Object Editor" by entering "gpedit.msc" at a command prompt.
  2. Navigate to "User Configuration", "Administrative Templates", "Windows Components", "Terminal Services", "TS Gateway" and select the "Set TS Gateway server authentication method" setting:
    Group Policy Editor
  3. Select the "Enabled" radio button.
  4. Under "Set TS Gateway server authentication method", click on the combo-box and select "Use locally logged-on credentials".
  5. If you want the users to be able to override this authentication method then select "Allow users to change this setting" checkbox.
    Group Policy
  6. Confirm the changes by clicking on the "OK" button until you return back to the main Group Policy Object Editor dialog.
  7. At a command prompt, run "gpupdate" to force the policy to be refreshed immediately on the local machine.
  8. Start up the TS client and navigate to "Options", "Advanced", click on "Settings" under "connect from anywhere". You should see the status text indicate the following: "Your Windows logon credentials will be used to connect to this TS Gateway server".
    image
  9. That's it! The client will now be able to connect to the gateway server ("gateway.microsoft.com" in the above example) using locally logged on credentials. Of course, if you want to use another set of credentials, you should select the "Allow users to change this setting" checkbox in the Group Policy Editor in Step-5 to bypass using the locally logged on credentials.

What if I am connecting from a non-domain joined client machine?

If you have a non-domain client, then you cannot get single sign-on by using locally logon credentials to authenticate with TSG and TS since administrator cannot deploy single sign-on group policies to the non-domain client machines.

Thus, to provide the best connection experience for non-domain clients through TS Gateway, set the option “Use my TS Gateway credentials with remote server option” in RDP file or in the mstsc client advanced setting menu as per screenshot below. This will ensure that end users are prompted for credentials only once during the connection experience.

 

image

Can the user get Single Sign-On experience when logging on using a Smart Card?

No. Unfortunately if a Smart Card is used to log on locally to the machine, these credentials cannot be used for Single Sign-On. Please also note that you cannot save Smart Card credentials in TS connections either.

Published Thursday, April 19, 2007 4:45 AM by termserv

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Single-Sign-ON

Nu finns det en guide för hur man konfigurerar SSO mellan en VISTA/Longhorn klient till en VISTA/Longhorn...

Tuesday, April 24, 2007 2:50 PM by Rickard Wendel [Terminal Services]

# re: How to enable Single Sign-On for my Terminal Server connections

Is it possible to provide SSO for Terminal Services in Win2k3 Server and XP/Win2k3 as clients?

Tuesday, April 24, 2007 10:41 PM by jay

# re: How to enable Single Sign-On for my Terminal Server connections

Unfortunately it's not possible, because SSO requires using a special Security Support Provider currently available only in Vista.

Wednesday, April 25, 2007 12:57 PM by Sergey Kuzin

# re: How to enable Single Sign-On for my Terminal Server connections

If I understood the explanation correctly, you use also a username and password to authenticate from Vista to Longhorn. The difference is that the username and password are cached and sent without user intervention.

No way to rely on kerberos authentication and constrained delegation ?

Monday, July 23, 2007 4:22 AM by Olivier Blaise

# Single Sign On (SSO) aux connexions Terminal Services

Dans un domaine windows, on est authentifi&amp;#xE9; pour quasiment tous les services via Kerberos sans

Wednesday, October 17, 2007 7:23 AM by Sup'Astuces

# How to enable Single Sign-On for my Terminal Server connections

I've just foudn out that SSO will be available on XP SP3. Dev. has ported CredSSP back to XP SP3.

Friday, October 19, 2007 1:13 PM by MarkG

# re: How to enable Single Sign-On for my Terminal Server connections

Someone from MS Dev. need to confirm that SSO will work with WinXP SP3.

Friday, October 19, 2007 3:05 PM by MarkG

# re: How to enable Single Sign-On for my Terminal Server connections

Mark,

Unfortunately, SSO will not be supported on XP SP3.

I'm sorry for the confusion.

Sergey.

Monday, October 22, 2007 2:16 PM by Sergey Kuzin

# re: How to enable Single Sign-On for my Terminal Server connections

I was just in the Webcast today on Security in Terminal Servers and the presenter had XP SP3 in the list as supported for SSO.

Was that old information?

Wednesday, November 28, 2007 2:01 PM by Greg

# re: How to enable Single Sign-On for my Terminal Server connections

BTW, it does work in XP SP3 RC1; however, the group policy templates don't provide for a means to make the change.

Make the change on a vista box and export the registry key and it will work on XP.  Tried with SP2/RDP 6.1 client, that's a no-go, SP3 *IS* required.

Wednesday, November 28, 2007 2:53 PM by Greg

# re: How to enable Single Sign-On for my Terminal Server connections

Can anyone else confirm SSO works in XP Sp3?

Wednesday, January 23, 2008 12:16 PM by Paul

# re: How to enable Single Sign-On for my Terminal Server connections

Can someone post the registry changes required for the SSO to function on an XP machine?

Tuesday, January 29, 2008 10:05 AM by JDS

# re: How to enable Single Sign-On for my Terminal Server connections

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation]

"AllowDefaultCredentials"=dword:00000001

"ConcatenateDefaults_AllowDefault"=dword:00000001

"AllowDefCredentialsWhenNTLMOnly"=dword:00000001

"ConcatenateDefaults_AllowDefNTLMOnly"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials]

"1"="TERMSRV/<My Server1>"

"2"="TERMSRV/<My Server2>"

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefCredentialsWhenNTLMOnly]

"1"="TERMSRV/<My Server1>"

"2"="TERMSRV/<My Server2>"

Replace "<My Server1>", "<My Server2>", etc. with the real server names.

Do not use AllowDefCredentialsWhenNTLMOnly unless it is absolutely necessary. It is to enable SSO when Kerberos or SSL server authentication is not possible, and it is not very secure (you may end up sending your password to a wrong server).

Friday, February 01, 2008 1:14 PM by Sergey Kuzin

# re: How to enable Single Sign-On for my Terminal Server connections

Thanks! Hopefully I can get it to work.

Friday, February 01, 2008 3:24 PM by JDS

# re: How to enable Single Sign-On for my Terminal Server connections

I suppose this could be pushed out using GPO to XPSP3 PCs. Has anyone done it?

Monday, April 14, 2008 11:00 AM by Alastair

# re: How to enable Single Sign-On for my Terminal Server connections

With build 3244, the reg hacks as described above work.

However, with build 3282, they don't seem to.

Considering the ones in build 3244 match the ones from Vista SP1, I'm worried that they removed this feature.  We will be pissed if that is the case.

We want single-sign on, but do NOT want to be forced to move to Vista for that, especially if we know it worked on one of the release candidates but was disabled from the final.

Greg

Wednesday, April 16, 2008 5:46 PM by Greg

# re: How to enable Single Sign-On for my Terminal Server connections

I've tried the released version of SP3 and can confirm the single-sign on functionality has been removed from the final.

I CAN'T move my desktops to Vista due to incompatibilities with certain software we use.  Come on Microsoft, how about a standalone RDC 6.1 complete with single-sign on?

Tuesday, April 29, 2008 8:10 AM by Paul

# re: How to enable Single Sign-On for my Terminal Server connections

Interestingly, I've been trying additional things to make this work and a desktop with  SP2 on, upgraded to build 3244 then upgraded to SP3 final appears to retain the SSO functionality, whereas SP2 straight to SP3 appears not to!

Tuesday, April 29, 2008 9:38 AM by Paul

# re: How to enable Single Sign-On for my Terminal Server connections

OK, I've managed to achieve the functionality.  Here's what to do:

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SecurityProviders

APPEND, don't replace: credssp.dll

HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages

APPEND, don't replace: tspkg

AGAIN, you need to APPEND these values, not replace what's there

Wednesday, April 30, 2008 5:09 AM by Paul

# Problems using default credentials with Vista RDP clients with Single Sign-on Enabled

With Single Sign-on enabled , the current user’s credentials, also known as “default credentials”, are

Wednesday, April 30, 2008 4:57 PM by Terminal Services Team Blog

# re: How to enable Single Sign-On for my Terminal Server connections

I used the info from the postings above and specifically from KB951608, scenario 2 on a windows xp sp3 machine and am still prompted for credentials. Has anyone had any luck getting SSO to work with XP SP3 (RTM SP3, that is) clients?

Friday, May 16, 2008 6:52 PM by Chris Wallace

# re: How to enable Single Sign-On for my Terminal Server connections

I spoke too soon... MANY thanks, Paul, the registry entries from the KB and your post did the trick (credssp.dll, tspkg). If you could share your source, I'd be very greatful... thanks in any event!

Friday, May 16, 2008 7:00 PM by Chris Wallace

# re: How to enable Single Sign-On for my Terminal Server connections

Got a question about SSO with Windows XP SP3.

If i connect to a TS RemoteApp on hostname of a server there is no problem at all. App starts with no problems at all. Now i configured 2 TS 2008 servers in a Farm.

I have put into DNS the Farm with the two ip's that are configured for it (Forward lookup zone)

In TS RemoteApp Manager i configure the dns name for the farm i created.

If i connect to the same TS RemoteApp with the farm-name i have to put in my credentials again, anyone have seen this problem before?

Wednesday, May 21, 2008 6:24 AM by Dean Houben

# re: How to enable Single Sign-On for my Terminal Server connections

Got it working now on Farm name.

On XP it's impossible to get it to work with Ts Farm, so i used a Windows Vista machine. Now i got no problems anymore, can connect to the farm i configured!

Tuesday, May 27, 2008 4:13 AM by Dean Houben

# re: How to enable Single Sign-On for my Terminal Server connections

I can confirm that SSO is not working with XP SP3 when connecting to a TS farm (using session broker). I have no issues when I connect to a standalone terminal server (following Paul's suggestions). If anyone has any ideas on how to make SSO work when connecting to a session brokered TS farm (besides upgrading to Vista), I'd love to hear them!

Monday, June 02, 2008 1:39 PM by Frank

# re: How to enable Single Sign-On for my Terminal Server connections

http://blogs.msdn.com/ts/archive/2008/04/30/problems-using-default-credentials-with-vista-rdp-clients-with-single-sign-on-enabled.aspx

To enable server authentication in a server farm, use SSL certificates that are issued by a trusted Certificate Authority and that have the farm name in the subject field. Deploy them to all servers in your farm. The SSL certificate will provide server authentication for a TS server and therefore Credential Delegation policy will allow saved credentials to be used for remote desktop connections.  

Thursday, July 03, 2008 9:06 AM by Osama Sajid [MSFT]

# re: How to enable Single Sign-On for my Terminal Server connections

This is a test to see if comment works on your blog or not.

I'm sure this will work if comment is long enough because otherwise it will be considered as spam by blog algorithm. So shorter the length of comment , greater the chances of considering it as a spam by blog algorithm and you will end up seeing in blog home page instead of comment.

Friday, August 15, 2008 5:15 PM by Admin

# re: How to enable Single Sign-On for my Terminal Server connections

How I can use SSO from Windows XP x64?

Tuesday, August 19, 2008 5:20 PM by RDP rocks!

# re: How to enable Single Sign-On for my Terminal Server connections

Additional information for SSO for TS farms from XP SP3 clients:

There is a QFE availbe for SSO to TS farms from XP SP3 - please see kb article located here: "http://support.microsoft.com/kb/953760"

Also, please make sure you have CredSSP enabled on your XP SP3 client -  please see kb article located here: "http://support.microsoft.com/kb/951608"

Tuesday, August 19, 2008 5:48 PM by Olga

# re: How to enable Single Sign-On for my Terminal Server connections

Does this work with the standalone version of RDC6.1 for XPSP2 or is XPSP3 required?

Thursday, October 09, 2008 7:56 PM by Daryl

# re: How to enable Single Sign-On for my Terminal Server connections

XP SP3 is required since CredSSP was ported to XP SP3 (not SP2). You will need to enable credssp on it (see KB article # 951608 for more info).

Thursday, October 09, 2008 9:13 PM by Olga Ivanova

# re: How to enable Single Sign-On for my Terminal Server connections

Can this be used to connect from XP SP3 to XP SP3, or does the server still need to be 2008?

Thursday, November 06, 2008 9:34 AM by GregM

# re: How to enable Single Sign-On for my Terminal Server connections

Unfortunately, no - XP SP3 can only be used as the client so no XP SP3 to XP SP3. Server has to be 2008 or Vista.

Thursday, November 06, 2008 6:04 PM by Olga Ivanova

# re: How to enable Single Sign-On for my Terminal Server connections

Hi Paul,

I am trying to setup SSO with xp SP3.

your previous post says APPEND,i am really unable to get what to APPEND ? please help me.

Setup

=====

Server

windows 2008 server

configured the RDP accordingly

client

Windows XP professional with xp sp3.

Earlier you said

"OK, I've managed to achieve the functionality.  Here's what to do:

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SecurityProviders

APPEND, don't replace: credssp.dll

HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages

APPEND, don't replace: tspkg

AGAIN, you need to APPEND these values, not replace what's there "

i am not sure what do you mean by append

please suggest

Thursday, December 11, 2008 2:04 AM by sai

# re: How to enable Single Sign-On for my Terminal Server connections

Hi ,

I got it , we have to add these values to the registry .

and enable credssp on windows xp professional clients

Thursday, December 11, 2008 2:17 AM by sainath

# re: How to enable Single Sign-On for my Terminal Server connections

How to modify "Security Packages" with Domain Group Policy?

Wednesday, February 25, 2009 11:46 PM by Roman Golev

# re: How to enable Single Sign-On for my Terminal Server connections

The article states that it's not possible to USE SSO in combination with smart cards. Is there any known work around for this?!

Wednesday, September 02, 2009 6:26 AM by Jeef

# re: How to enable Single Sign-On for my Terminal Server connections

SSO is working, but TS Remote Apps functionality is severely degraded due to differnet lock out time periods.  Often remote app progrmas are idle while attending to other programs and then you come back to remote apps and have to log back in.  Any suggestions? Domain lockout is 20mins and can't be changed.

Thursday, September 03, 2009 2:40 PM by Jason

# re: How to enable Single Sign-On for my Terminal Server connections

RE SSO with Smart cards: unfortunately you cannot get SSO with smart cards today unless you deploy something like ISA/UAG server.

RE: lockout/timeout - thanks for your feedback. Domain lockout of 20 mins also applies to the TS where your Remote apps are hosted?

Thursday, September 03, 2009 2:47 PM by Olga

# re: How to enable Single Sign-On for my Terminal Server connections

Lockout is based on AD Policy.  I would have to create a seperate OU and drag the remote apps server into that OU and set No Timeout.  This would probably work, but would not fly with our Security team.  Any other suggestions or thoughts?

Thursday, September 03, 2009 4:35 PM by Jason

# re: How to enable Single Sign-On for my Terminal Server connections

The only thing stopping me from a full roleout of Remote Apps and 2K8 Server are users can't stand having to relog on to the application every 20 minutes of inactivity.  SSO works great for the initial launch, but after 20 minutes, SSO benefits are moot and users have to type in creds to unlock the session.

Thursday, September 03, 2009 4:38 PM by Jason

# re: How to enable Single Sign-On for my Terminal Server connections

If the Remote Apps could share the same incativity timer as the host machine, it would be a beautiful thing.

Thursday, September 03, 2009 4:40 PM by Jason

# re: How to enable Single Sign-On for my Terminal Server connections

Does these setting provide SSO to the TS Web Access portal ? i.e, I launch IE, navigate to my TS web access page, it auto logs on and my apps are presented.    If so, it does not seem to work for me, I am using Windows 7 RDP 7.1.  When I use mstsc and connect to my farm, SSO does work.  Can someone clarify please :-) thanks

Friday, October 16, 2009 4:06 AM by David

# re: How to enable Single Sign-On for my Terminal Server connections

Friday, October 16, 2009 9:07 AM by termserv

# re: How to enable Single Sign-On for my Terminal Server connections

The error message in the Remote Desktop Connection app (mstsc) should be more detailed.

My scenario:

- domain-joined Win 7 machine at work

- connecting to non-domain-joined Win 7 machine at home

- saved credentials would not pass and I would get the following message:

"Your credentials did not work. Your system administrator does not allow the use of saved credentials to log on to the remote computer my.domain.com because its identity is not fully verified. Please enter new credentials."

Enabling the "Allow Delegating Saved Credentials with NTLM-only Server Authentication" of course fixed the problem.

In retrospect, the message now makes sense, but before I thought it was getting the wrong username/password. It seemed to me that the remote machine was rejecting it.

I suggest some changes to make this clearer:

1) Change the title of the error to something like "Saved credentials could not be sent". The way it is now, sounds like they were sent and rejected by the remote machine.

2) Alter the error message to include some hint that this is the result of the Local Computer Policy so that the user knows where to look.

3) When opting to save credentials, a policy check should occur and the user should be informed that the policy is not going to allow it.

4) A help button and page that includes information on connecting from a domain-joined PC to a non-domain-joined PC.

Thanks for considering it. :)

Tuesday, October 27, 2009 5:03 PM by Dan

# re: How to enable Single Sign-On for my Terminal Server connections

Can we get SSO on a thin client with windows XP SP3 embedded?

I have a Session broker with NLB and I keep getting double prompts and on remote apps although I have setup credssp I am still being asked for a prompt. Is there something different I need to do for getting SSO on remote apps? I am doing all this on XP SP3 (standard) and later.

TS and SSB are windows 2008 R2.

TIA.

Thursday, November 26, 2009 11:57 AM by Naresh Negi

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker