A. Linux 改 SSH 远程端口(以 Ubuntu 22.04/24.04、CentOS 8 为例)
- 远程先开好 2 个会话,防止改错被锁。
- 备份 & 修改
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo vim /etc/ssh/sshd_config
找到 #Port 22
,改成(示例 1022):
Port 1022
保存退出。
- 防火墙放行
Ubuntu/Debian
sudo ufw allow 1022/tcp
sudo ufw reload
CentOS/openEuler
sudo firewall-cmd --permanent --add-port=1022/tcp
sudo firewall-cmd --reload
- SELinux 如启用需打标签
sudo semanage port -a -t ssh_port_t -p tcp 1022
- 重启 sshd 生效
sudo systemctl restart sshd
- 阿里云 / 腾讯云 / 华为云 → 安全组新增「TCP 1022」允许入站,再删除旧 22(可选)。
- 客户端测试
ssh -p 1022 user@服务器IP
能登录后把 22 在安全组里去掉,完成。
B. Windows 改 RDP 远程端口(Win10/11 Pro、Server 2022/2025 均适用)
- 注册表一键改端口(示例 13389)
以管理员运行 PowerShell:
$port = 13389
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value $port
- 防火墙放行
New-NetFirewallRule -DisplayName "RDP-$port" -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow
- 重启远程服务
Restart-Service TermService -Force
(会断 3 秒,重连即可)
- 云安全组 → 新增 TCP 13389 入站 → 删除 3389(可选)。
- 客户端连接
Win + R → mstsc
→ 地址栏填写
服务器IP:13389
成功登录后,旧端口即可关闭。
C. 查看端口是否监听
Linux
ss -lntp | grep 1022
Windows
Get-NetTCPConnection -LocalPort 13389
D. 安全小贴士(通用)
- 端口范围:1024-65535 随意选,避开 3389、22、2222、23389 这类扫描热点。
- Fail2Ban / RDGuard 再叠加:防暴力爆破。
- 密钥认证(Linux)+ 仅允许指定 IP(安全组),比改端口更管用。