prefixkit Ask an engineerAsk RU

Port 5985 WinRM HTTP

Windows Remote Management / PowerShell remoting over HTTP.

Protocol
TCP
Service
WinRM HTTP
Exposing to the internet
Do not expose

Check if port 5985 is open

Is it safe to open

Never leave remote access open to the whole internet: bots try passwords around the clock. Put it behind a VPN (WireGuard, IPsec), or allow only your own addresses, use keys or long passwords, and enable brute-force protection (fail2ban, account lockout).

How to open port 5985

Open to everyone

# Linux iptables
iptables -A INPUT -p tcp --dport 5985 -j ACCEPT
# Ubuntu ufw
ufw allow 5985/tcp
# firewalld
firewall-cmd --permanent --add-port=5985/tcp && firewall-cmd --reload
# MikroTik
/ip firewall filter add chain=input protocol=tcp dst-port=5985 action=accept place-before=0 comment="port 5985"
# Windows (PowerShell)
New-NetFirewallRule -DisplayName "Port 5985 TCP" -Direction Inbound -Protocol TCP -LocalPort 5985 -Action Allow

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p tcp --dport 5985 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 5985 -j DROP
ufw allow from 203.0.113.0/24 to any port 5985 proto tcp
/ip firewall filter add chain=input protocol=tcp dst-port=5985 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=5985 action=drop

If the server is behind a router, you also need a port forward (dst-nat). Behind ISP CGNAT (100.64.0.0/10 on the WAN) forwarding will not help: you need a public IP or a VPN.

What is listening

Check on the server

# what listens on the port
ss -lntup | grep ':5985 '
netstat -ano | findstr :5985   # Windows
lsof -i :5985   # macOS
# test from another machine
nc -vz example.com 5985

Related ports