本文介绍如何修改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. 远程访问实例,在远程地址后面添加新远程端口号即可连接实例。
    远程访问服务器
    说明 调整3389端口后,使用Mac的远程桌面连接客户仅支持默认的3389端口。

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

本节以CentOS 6.8和CentOS 7.7为例介绍如何修改Linux系统实例默认远程端口。

  1. 远程连接并登录到Linux实例。
    具体操作,请参见 通过Workbench远程连接Linux实例
  2. 运行以下命令备份sshd服务配置文件。
    cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
  3. 修改sshd服务的端口号。
    1. 运行以下命令编辑sshd_config配置文件。
      vim /etc/ssh/sshd_config
    2. 在键盘上按i键,进入编辑状态。
    3. 添加新的远程服务端口。
      本节以1022端口为例。在 Port 22下输入 Port 1022新增端口
    4. 在键盘上按Esc键,输入:wq后保存并退出编辑状态。
  4. 运行以下命令重启sshd服务。重启实例后您可以通过1022端口SSH登录到Linux实例。
    • CentOS 7及以上版本、Alibaba Cloud Liunx 2:
      systemctl restart sshd
    • CentOS 6版本:
      /etc/init.d/sshd restart
  5. 可选:配置防火墙放行1022端口。
    如果ECS实例开启防火墙,需要放行新端口。
    • CentOS 7及以上版本、Alibaba Cloud Liunx 2:

      CentOS 7以后版本默认安装Firewalld。如果您已经启用firewalld.service,需要运行以下命令放行TCP 1022端口。

      firewall-cmd --add-port=1022/tcp --permanent

      返回结果为success即表示已经放行TCP 1022端口。

    • CentOS 6版本:

      使用CentOS 7以前的版本并开启默认防火墙iptables时,应注意iptables默认不拦截访问。如果您配置了iptables规则,需要运行以下命令配置防火墙。

      iptables -A INPUT -p tcp --dport 1022 -j ACCEPT

      然后运行以下命令重启防火墙。

      service iptables restart
  6. 配置实例的安全组放行TCP协议1022端口。
    具体操作,请参见 添加安全组规则
  7. 使用SSH工具连接新端口,来测试是否成功。
    登录时在 Port文本框中输入修改后的端口号,在本示例中即1022。 输入修改后的端口号
    说明

    修改完成后,您将无法使用默认的22端口远程访问ECS实例。