prefixkit Ask an engineerAsk RU

Port 23 Telnet

Unencrypted remote console, still found on routers, switches and IoT devices.

Protocol
TCP
Service
Telnet
Exposing to the internet
Do not expose

Check if port 23 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 23

Open to everyone

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

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p tcp --dport 23 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 23 -j DROP
ufw allow from 203.0.113.0/24 to any port 23 proto tcp
/ip firewall filter add chain=input protocol=tcp dst-port=23 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=23 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 ':23 '
netstat -ano | findstr :23   # Windows
lsof -i :23   # macOS
# test from another machine
nc -vz example.com 23

Related ports