
默认远程端口(如 Windows 的 3389、Linux 的 22)使用广泛,易被自动化工具扫描和暴力破解,存在较高的安全风险。修改为非标准端口可有效降低被攻击的概率,避免因端口攻击导致无法远程连接。
本文将介绍 Windows 和 Linux 实例修改默认远程端口的方法,请根据具体的操作系统类型选择对应操作。
下面以 Windows Server 2016 操作系统为例,由于操作系统版本和语言不同,详细操作步骤略有区别。
首先,运行微软终端客户端工具mstsc.exe登录Windows实例,然后在运行中输入regedit,打开注册表编辑器窗口(需要在两处修改)。

接着,在左侧的注册表导航中,依次展开HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Terminal Server > Wds > rdpwd > Tds > tcp 目录。
找到 tcp 中的PortNumber ,并将PortNumber数据(即3389端口号)修改为0 - 65535之间未被占用端口。如下图所示:

修改完这一步后,继续在左侧的注册表导航中,依次展开HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Terminal Server > WinStations > RDP-Tcp目录。
找到 RDP-Tcp 中的PortNumber,并将RDP-Tcp中的PortNumber数据(端口号)修改为与 tcp 中的PortNumber 数据(端口号)一致的端口号。

另外,如果开启了防火墙,需要运行wf.msc,打开“高级安全 Windows 防火墙窗口”新建入站规则,对设定的TCP端口进行放行。
最后,在服务窗口中,找到 Remote Desktop Services,并右键单击 Remote Desktop Services,选择重启动,重启远程登录服务,使修改生效。
下面以CentOS 7.9 操作系统为例,由于操作系统版本和语言不同,详细操作步骤略有区别。
本地或远程登录到CentOS服务器,执行如下命令,修改配置文件。
sudo vim /etc/ssh/sshd_config按 i 切换至编辑模式 ,增加新端口内容,在#Port 22下新增一行 Port 新端口号,并把 Port 22 的注释删除(即删除前面的#)。如下图所示: 例如Port 22456。

修改完后按Esc,输入 :wq,保存内容并返回。
接着重启sshd服务,使配置修改后生效:
sudo systemctl restart sshd.service接着在防火墙上放行22456端口:
CentOS 7 及以后版本的 Linux 云服务器默认使用 Firewalld 服务作为防火墙,若实例启用了 firewalld.service,则需要执行如下操作配置防火墙:
sudo firewall-cmd --add-port=新端口号/tcp --permanent这里,新增的端口号为22456,则执行如下命令:
sudo firewall-cmd --add-port=22456/tcp --permanent最后,使用新端口连接 Linux 实例成功后,执行如下命令,注释22默认端口:
sudo vim /etc/ssh/sshd_config
同样,修改保存后,重启sshd服务:
sudo systemctl restart sshd.service这样,就可以用新修改的ssh端口进行连接。