When Remote Desktop refuses to connect, the first question is simple: does the server answer on TCP port 3389 at all? A port test answers that in seconds. It tells you whether to look at the network path (firewall, ISP, router) or at the login itself (username, password, RDP app).
This guide shows how to run the test from Windows, macOS and Linux, how to read the result, and what to do when the port is closed.
Before you start
- Your server's IP address, from the service page in your VPS provider's control panel. The examples use
203.0.113.10. - The server should show as Running in your VPS provider's control panel. A stopped or rebooting server will never answer.
- A computer on the network you normally connect from. Test from the same place where Remote Desktop fails, otherwise the result can mislead you.
Note: Windows VPS and Admin RDP servers accept Remote Desktop on port 3389.
Test from Windows with PowerShell
Windows 10, Windows 11 and Windows Server all include Test-NetConnection. Open PowerShell (no admin rights needed) and run:
Test-NetConnection 203.0.113.10 -Port 3389A successful result looks like this:
ComputerName : 203.0.113.10
RemoteAddress : 203.0.113.10
RemotePort : 3389
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.25
TcpTestSucceeded : TrueThe line that matters is TcpTestSucceeded. If you only want that value, add -InformationLevel Quiet and PowerShell prints just True or False:
Test-NetConnection 203.0.113.10 -Port 3389 -InformationLevel QuietA failed test takes a few seconds longer and shows a warning such as TCP connect to 203.0.113.10:3389 failed, followed by TcpTestSucceeded: False. It may also show a ping result. Ignore the ping part: many servers block ping on purpose, so a failed ping on its own proves nothing.
Test from macOS or Linux with nc
macOS and most Linux desktops include nc (netcat). Open Terminal and run:
nc -vz -w 5 203.0.113.10 3389-vprints a readable result.-zchecks the port without sending data.-w 5gives up after five seconds instead of waiting a long time.
On macOS a working port prints a line ending in succeeded!. On Linux it usually says open or Connected to. A closed or filtered port prints Connection refused, timed out or Operation timed out.
If nc is missing on Linux, install it with sudo apt install netcat-openbsd on Ubuntu or Debian, or sudo dnf install nmap-ncat on AlmaLinux or Rocky Linux. For more on this tool, see Test a port with nc and telnet.
Use an online port checker
An online port checker tests the port from the internet rather than from your network. Search for "open port checker", enter 203.0.113.10 and port 3389, and run the check.
This is useful as a second opinion:
- Online check passes, your own test fails: the server is fine. Something on your side blocks outbound TCP 3389, such as an office firewall, router filter or local antivirus.
- Both fail: the problem is on the server side or with the server's network.
Tip: Only enter your server's IP address into these tools. Never paste usernames or passwords into a website that offers to "test your RDP login".
Read the result
Use the result to decide where to look next:
- Port reachable (True, succeeded, open): the network path is fine. If Remote Desktop still fails, the cause is the address format, the credentials or the RDP app. Check you typed
203.0.113.10:3389with a colon, then re-copy the password from your VPS provider's control panel. - Connection refused: packets reach the server, but nothing accepts them on 3389. Remote Desktop may be stopped or listening on a different port.
- Timed out: something drops the packets. That can be the Windows Firewall on the server, or a firewall on your network or ISP.
Next steps if the port is closed
Work through these in order and test again after each one.
- Restart the server. Use the restart button in your VPS provider's control panel and wait two to three minutes for Windows to boot fully. Then test again.
- Try another network. Turn on a phone hotspot, connect your computer to it and repeat the test. If it passes there, your usual network blocks the port. See Connect to RDP port 3389 from office, hotel or school Wi-Fi.
- Check the server from the inside. Open the browser console from your VPS provider's control panel and sign in. Then confirm Windows is listening on 3389 and the firewall rule exists. Check that Windows is listening on RDP port 3389 walks you through it.
- Restore the port if it was changed. If someone changed the RDP port, follow Restore Remote Desktop to port 3389 after changing it.
Troubleshooting
Test-NetConnectionis not recognised: you are in the old Command Prompt or a very old PowerShell. Open Windows PowerShell from the Start menu and try again.- The test passes, but mstsc says it can't connect: the port is probably missing from the address. Type the full
203.0.113.10:3389, not just the IP. - The test passes sometimes and fails sometimes: the server may be rebooting for updates, or your connection is unstable. Wait a few minutes, then test several times in a row.
- Every test times out, from every network: open a support ticket with the IP, the time you tested and the exact output. That gives the support team what they need to check quickly.
Next steps
- Work through other connection errors: Fix Remote Desktop can't connect.
