Why can’t I connect to RDP from one computer, but it works successfully from another?
I have a Windows Server 2019 server that is not domain-joined (as required) with Terminal Services enabled. I have two Windows 11 computers, both domain-joined. From the old computer (PC1), I can successfully connect to the server using both IP address and name. From the new computer (PC2), the connection doesn’t work, and when attempting to connect via mstsc, I get a “logon attempt failed” message. The username and password are exactly the same as on PC1 and are definitely correct.
In the logs on PC2 (Microsoft-Windows-TerminalServices-RDPClient), I see the following errors:
- RDP ClientActiveX disconnection (Reason= 2055)
- Server supports SSL = supported
- Base64(SHA256(username)) = ***
- RDPClient_SSL: An error occurred while transitioning from TsSslStateHandshakeInProgress to TsSslStateDisconnecting in response to TsSslEventHandshakeContinueFailed. (Error code: 0x80004005).
- Multitransport connection disconnected.
What could be the possible causes of this problem and how can I fix it?
The main reason for the RDP connection problem from a new computer (PC2) when the connection works successfully from an old computer (PC1) is related to SSL/TLS handshake, as indicated in the error messages. This usually occurs due to incompatibility of security protocol versions, server certificate issues, outdated network drivers, or firewall port blocking on PC2.
Contents
- Main causes of RDP connection failure
- SSL/TLS troubleshooting
- Network settings verification
- Server security configuration
- Client-side fixes
- Additional troubleshooting methods
Main causes of RDP connection failure
RDP connection failure from one computer while working from another can be caused by several factors, but in your case, the errors specifically indicate SSL/TLS connection issues:
TLS/SSL incompatibility
- PC2 may have a newer or different set of security protocols installed
- The server may only support certain TLS versions, while the client is trying to use an unsupported one
Example error:
RDPClient_SSL: error transitioning from TsSslStateHandshakeInProgress to TsSslStateDisconnecting in response to TsSslEventHandshakeContinueFailed
Certificate issues
- Invalid or expired certificates on the server
- Trusted root certificate issues on PC2
- Certificate name mismatch
Security blocks
- Firewalls on PC2 block traffic on port 3389
- Windows Defender or antivirus programs block RDP connections
- Windows security policies on PC2 restrict remote connection
SSL/TLS troubleshooting
Since the logs explicitly indicate an SSL/TLS problem, start by diagnosing these components:
Checking supported protocols
- Open PowerShell as administrator on PC2
- Run the command to check current TLS protocols:
[System.Net.ServicePointManager]::SecurityProtocol
- Ensure that not only TLS 1.2 but also TLS 1.3 are enabled:
# To enable supported versions
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 -bor [System.Net.SecurityProtocolType]::Tls13
Server certificate verification
-
On PC1 (where connection works), check the certificate:
powershellInvoke-WebRequest -Uri "rdp://your_server:3389" -UseBasicParsing -
Compare settings with PC2:
powershell# Check current certificates Get-ChildItem -Path Cert:\LocalMachine\RemoteDesktop
Network settings verification
Basic network diagnostics
-
Server availability check:
cmdping your_server telnet your_server 3389 -
DNS resolution check:
cmdnslookup your_server
-
Routing check:
cmdtracert your_server
Firewall configuration
-
Temporarily disable Windows Defender on PC2
-
Check firewall settings:
powershellGet-NetFirewallRule -DisplayName "*Remote Desktop*" -
Allow port 3389:
powershellNew-NetFirewallRule -DisplayName "Allow RDP" -Direction Inbound -LocalPort 3389 -Protocol TCP -Action Allow
Server security configuration
RDP security policy configuration
-
Open Local Group Policy Editor on the server:
gpedit.msc- Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Security
-
Configure security settings:
- Allow only secure connection (Level 3)
- Disable network level authentication requirement
Server certificate management
-
Check current certificates:
powershellGet-ChildItem -Path Cert:\LocalMachine\RemoteDesktop -
Create a new self-signed certificate if needed:
powershellNew-SelfSignedCertificate -DnsName "your_server" -CertStoreLocation "Cert:\LocalMachine\RemoteDesktop" -
Assign certificate for Remote Desktop Services:
powershellSet-Item -Path "WSMan:\localhost\Client\TrustedHosts" -Value "your_server" -Force
Client-side fixes
Network driver updates
-
Update network card drivers on PC2:
- Through Device Manager
- Through Windows Update
- Through hardware manufacturer’s website
-
Check network services status:
powershellGet-Service -Name "*network*" Restart-Service -Name "Dnscache", "Winmgmt", "TermService"
RDP cache cleanup
-
Delete old RDP connections:
cmdreg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
-
Clear temporary files:
cmddel /s /q "%USERPROFILE%\AppData\Local\Temp\*" -
Restart Remote Desktop Service:
powershellRestart-Service -Name "TermService" -Force
RDP client components reinstallation
-
Temporarily disable Remote Desktop Services:
powershellSet-Service -Name "TermService" -StartupType Disabled Set-Service -Name "UmRdpService" -StartupType Disabled -
Remove RDP components:
cmddism /online /norestart /uninstall-feature /featurename:Remote-Desktop-Services dism /online /norestart /uninstall-feature /featurename:TerminalServices
-
Restart PC2
-
Install components back:
cmddism /online /enable-feature /featurename:Remote-Desktop-Services /norestart dism /online /enable-feature /featurename:TerminalServices /norestart
Additional troubleshooting methods
Using other RDP clients
-
Try alternative clients:
- Microsoft Remote Desktop Connection Manager
- Remote Desktop Plus
- Remmina (for Linux)
-
Check connection with other parameters:
cmdmstsc /v:your_server /admin mstsc /v:your_server /multimon
Windows Registry check
-
Export registry section on PC1 (working):
cmdreg export "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" c:\rdp_settings.reg
-
Import on PC2:
cmdreg import c:\rdp_settings.reg
PC2 security policy configuration
- Open gpedit.msc on PC2
- Computer Configuration → Administrative Templates → Network → Network Connection
- Disable remote connection blocking parameters
Sources
- Official Microsoft Documentation - Troubleshooting RDP
- Microsoft TechNet - Configuring SSL/TLS for RDP
- Microsoft Support - Error 0x80004005 with RDP connection
- Stack Overflow - RDP SSL handshake failed
Conclusion
Key takeaways:
- The issue is related to SSL/TLS handshake, not authentication
- PC2 may have incompatible security settings or drivers
- Server and PC1 work correctly, indicating a client-side issue
Recommended actions:
- Start by checking and configuring TLS protocols on PC2
- Update network drivers and restart services
- Temporarily disable firewall and antivirus for testing
- If nothing helps, reinstall Remote Desktop components
Additional notes:
- Always test changes in a test environment before applying in production
- Keep backups of important registry settings
- Monitor events after making changes for quick identification of new issues
If the problem persists, you may need to contact Microsoft Technical Support for deep diagnosis of the specific case.