本文介绍如何修改 Windows 和 Linux 服务器的默认远程端口。

修改 Windows 服务器默认远程端口

本节以 Windows Server 2008 为例介绍如何修改 Windows 服务器默认远程端口。

  1. 远程连接并登录到 Windows 实例。
  2. 运行regedit.exe打开注册表编辑器。
  3. 找到如下注册表子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber




  4. 在弹出的对话框中,选择十进制,在数值数据中输入新的远程端口号,在本例中即 3399。单击确定


  5. (可选)如果您开启了防火墙,需要将新的端口号添加到防火墙并设置允许连接。

    具体方法参见设置 ECS 实例远程连接防火墙

  6. 登录 ECS管理控制台,找到该实例,选择更多 > 重启


  7. 实例重新启动后,在实例的右侧单击管理,进入实例详情页面。选择本实例安全组


  8. 安全组列表页面,找到相应的安全组,单击配置规则
  9. 安全组规则页面,单击添加安全组规则。根据实际的使用场景来定义安全规则,允许新配置的远程端口进行连接。关于如何设置安全组参见添加安全组规则


  10. 以上步骤完成后,远程访问服务器,在远程地址后面添加新远程端口号即可连接实例。例如:192.168.1.2:3399。


    说明 调整 3389 端口后,使用 Mac 的远程桌面连接客户仅支持默认的 3389 端口。

修改 Linux 服务器默认远程端口

本节以 CentOS 6.8 为例介绍如何修改 Linux 服务器默认远程端口。
说明 不要直接修改 22 端口,先添加需要的默认远程端口。之所以先设置成两个端口,测试成功后再关闭一个端口,是为了防止在修改配置文件及网络调试过程中,万一出现新端口无法连接的情况下,还能通过 22 端口进行登录调试。
  1. 远程连接并登录到 Linux 实例。
  2. 运行 vim /etc/ssh/sshd_config 命令。
  3. 在键盘上按“I”键,进入编辑状态。添加新的远程服务端口,本节以 1022 端口为例。在Port 22下输入Port 1022
  4. 在键盘上按“Esc”,输入:wq退出编辑状态。
  5. 执行以下命令重启实例,之后您可以通过 22 端口和 1022 端口 SSH 登录到 Linux 实例。
    /etc/init.d/sshd restart
  6. (可选)配置防火墙。使用 CentOS 7 以前的版本并开启默认防火墙 iptables 时,应注意 iptables 默认不拦截访问,如果您配置了 iptables 规则,需要执行iptables -A INPUT -p tcp --dport 1022 -j ACCEPT配置防火墙。然后执行service iptables restart 重启防火墙。
    说明 CentOS 7 以后版本默认安装 Firewalld。如果您已经启用 firewalld.service,需要放行 TCP 1022 端口:运行命令 firewall-cmd --add-port=1022/tcp --permanent。返回结果为 success 即表示已经放行 TCP 1022 端口。
  7. 登录 ECS管理控制台,找到该实例,选择管理
  8. 进入实例详情页面。选择本实例安全组


  9. 安全组列表页面,找到相应的安全组,单击配置规则
  10. 安全组规则页面,单击添加安全组规则。根据实际的使用场景来定义安全规则,允许新配置的远程端口进行连接。关于如何设置安全组参见添加安全组规则
  11. 使用 SSH 工具连接新端口,来测试是否成功。登录时在 Port 一栏输入新修改的端口号,在本例中即 1022。


  12. 使用 1022 端口连接成功后,再次运行vim /etc/ssh/sshd_config命令,将 Port 22 删除。
  13. 运行 /etc/init.d/sshd restart 命令重启实例,服务器默认远程端口修改完成。再次登录时使用新端口号登录即可。