我们以 CentOS 6.8 为例进行设置。
一、修改 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。
PS:调整 3389 端口后,使用 Mac 的远程桌面连接客户仅支持默认的 3389 端口。
二、修改 Linux 服务器默认远程端口
PS:不要直接修改 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 重启防火墙。
PS: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 命令重启实例,服务器默认远程端口修改完成。再次登录时使用新端口号登录即可。