本文介绍如何修改ECS实例的默认远程端口。

前提条件

使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

修改Windows系统实例默认远程端口

本节以Windows Server 2012为例介绍如何修改Windows系统实例默认远程端口。

  1. 远程连接并登录到Windows实例。具体操作,请参见连接Windows实例
  2. 修改注册表子项PortNumber的值。
    1. 按快捷键 Win(Windows 徽标键)+R,启动运行窗口。
    2. 输入regedit.exe后按回车键打开注册表编辑器。
    3. 在左侧导航栏,单击HKEY_LOCAL_MACHINE > System > CurrentControlSet > Control > Terminal Server > WinStations > RDP-Tcp
    4. 在右侧列表中找到注册表子项PortNumber并右键单击,选择修改
    5. 在弹出的对话框中,在数值数据的文本框中输入新的远程端口号,在本示例中即3399。在基数区域单击十进制,然后单击确定
      api1
  3. 可选:如果您开启了防火墙,需要将新的端口号添加到防火墙并设置允许连接。
  4. 在ECS管理控制台重启ECS实例。具体操作,请参见重启实例
  5. 为该实例添加安全组规则,允许新配置的远程端口进行连接。具体操作,请参见添加安全组规则
  6. 远程访问实例,在远程地址后面添加新远程端口号即可连接实例。例如:192.168.1.2:3399。
    远程访问服务器
    说明 调整3389端口后,使用Mac的远程桌面连接客户仅支持默认的3389端口。

修改Linux系统实例默认远程端口

本节以CentOS 6.8和CentOS 7.7为例介绍如何修改Linux系统实例默认远程端口。
说明 建议您先设置成两个端口,测试成功后再关闭SSH 22端口。一旦在修改配置文件及网络调试过程中,新端口无法连接,您还能通过22端口登录实例。
  1. 远程连接并登录到Linux实例。具体操作,请参见连接Linux实例
  2. 修改sshd服务的端口号。
    1. 运行vim /etc/ssh/sshd_config命令。
    2. 在键盘上按I键,进入编辑状态。添加新的远程服务端口,本节以1022端口为例。在Port 22下输入Port 1022
    3. 在键盘上按Esc键,输入:wq后退出编辑状态。
  3. 执行以下命令重启sshd服务。重启实例后您可以通过1022端口SSH登录到Linux实例。
    • CentOS 7及以上版本、Aliyun Liunx 2:
      systemctl restart sshd
    • CentOS 6版本:
      /etc/init.d/sshd restart
  4. 可选:配置防火墙。
    如果ECS实例开启防火墙,需要放行新端口。
    • CentOS 7及以上版本、Aliyun Liunx 2:

      CentOS 7以后版本默认安装Firewalld。如果您已经启用firewalld.service,需要运行命令firewall-cmd --add-port=1022/tcp --permanent放行TCP 1022 端口。返回结果为success即表示已经放行TCP 1022端口。

    • CentOS 6版本:

      使用CentOS 7以前的版本并开启默认防火墙iptables时,应注意iptables默认不拦截访问,如果您配置了iptables规则,需要执行iptables -A INPUT -p tcp --dport 1022 -j ACCEPT命令配置防火墙。然后执行service iptables restart命令重启防火墙。

  5. 为该实例添加安全组规则,允许新配置的远程端口进行连接。具体操作,请参见添加安全组规则
  6. 使用SSH工具连接新端口,来测试是否成功。
    登录时在Port文本框中输入修改后的端口号,在本示例中即1022。输入修改后的端口号