修改作用:由于使用系统默认端口的风险较大,容易被攻击软件扫描以及攻击,为避免因端口攻击而无法远程连接云服务器,您可将云服务器默认远程端口修改为不常见的端口,提供云服务器的安全性。
远程端口修改有三个步骤:
1.修改注册表2个地方Tcp 和 RDP-Tcp。
2.需将新的端口添加至防火墙并设置允许连接。
3.安全组规则修改。
操作步骤
-
修改Windows云服务器默认远程端口
说明
如下操作以 Windows Server 2012 操作系统为例,由于操作系统版本和语言不同,详细操作步骤略有区别。
1.修改注册表2个地方Tcp 和 RDP-Tcp。
- 使用 VNC 登录 Windows 实例。
- 在操作系统界面中,单击 运行,打开 “Windows PowerShell” 窗口。
- 在 “Windows PowerShell” 窗口中,输入 regedit,按 Enter,打开 “注册表编辑器” 窗口。
- 在左侧的注册表导航中,依次展开【HKEY_LOCAL_MACHINE】>【SYSTEM】>【CurrentControlSet】>【Control】>【Terminal Server】>【Wds】>【rdpwd】>【Tds】>【tcp】目录。
- 找到【tcp】中的 PortNumber,并将 PortNumber 数据(即12345端口号)修改为0 - 65535之间未被占用端口。如下图所示:(选择十进制修改)
- 在左侧的注册表导航中,依次展开【HKEY_LOCAL_MACHINE】>【SYSTEM】>【CurrentControlSet】>【Control】>【Terminal Server】>【WinStations】>【RDP-Tcp】目录。
- 找到【RDP-Tcp】中的 PortNumber,并将【RDP-Tcp】中的 PortNumber 数据(端口号)修改为与【tcp】中的 PortNumber 数据(端口号)一致的端口号。(选择十进制修改)
(二)如果您的云服务器开启了防火墙,需将新的端口添加至防火墙并设置允许连接:
- 在 “Windows PowerShell” 窗口中,输入 wf.msc,按 Enter,打开 “高级安全 Windows 防火墙” 窗口。
- 在 “高级安全 Windows 防火墙” 窗口中,选择【入站规则】,单击【新建规则】。如下图所示:
- “新建入站规则向导” 窗口的 “规则类型” 步骤中,选择【端口】,单击【下一步】。
- 在 “新建入站规则向导” 窗口的 “协议和端口” 步骤中,选择【TCP】,并将【特定本地端口】填写为设置的新端口号,单击【下一步】。如下图所示:
a.“新建入站规则向导” 窗口的 “操作” 步骤中,选择【允许连接】,单击【下一步】。
b.在 “新建入站规则向导” 窗口的 “配置文件” 步骤中,使用默认配置即可,单击【下一步】。
c.在 “新建入站规则向导” 窗口的 “名称” 步骤中,填写规则名称,单击【完成】。
- 在 “Windows PowerShell” 窗口中,输入 services.msc,按 Enter,打开 “服务” 窗口。
- 在 “服务” 窗口中,找到【Remote Desktop Services】,并右键单击【Remote Desktop Services】,选择【重新启动】,重启远程登录服务。
- 参考修改安全组规则,将协议端口为 “TCP:3389” 的安全组规则修改为设置的端口号。
三.安全组规则修改。
-
修改 Linux 云服务器默认远程端口
说明
在修改 Linux 云服务器默认远程端口前,建议您先添加 SSH 端口号,并测试新的端口号可以成功连接云服务器,再删除默认的22端口。避免新的端口号无法连接时,仍可使用默认的22端口连接云服务器。
如下操作以 CentOS 7.3 操作系统为例,由于操作系统版本和语言不同,详细操作步骤略有区别。
- 使用 VNC 登录 Windows 实例。
- 执行如下命令,修改配置文件。
vim /etc/ssh/sshd_config
3. 按 i 切换至编辑模式,增加新端口内容,在 #Port 22
下新增一行 Port 新端口号
,建议把 Port 22
的注释删除(即删除前面的#,
因为 openssh
实现设置监听 socket
最大是16,为了避免多余端口造成的消耗,建议将不用的端口注释掉)。如下图所示: 例如 Port 23456
。
4. 按 Esc,输入 :wq,保存内容并返回。
5. 执行如下命令,使配置修改后生效。
systemctl restart sshd.service
6. (可选)配置防火墙。
- CentOS 7 以前版本的 Linux 云服务器默认使用 iptables 服务作为防火墙。如果云服务器配置了 iptables 规则,则需要执行如下操作配置防火墙:
6.1.1 执行如下命令,配置防火墙。
iptables -A INPUT -p tcp --dport 新端口号 -j ACCEPT
例如,新端口号为23456,则执行如下命令:
iptables -A INPUT -p tcp --dport 23456 -j ACCEPT
6.1.2 执行如下命令,重启防火墙。
service iptables restart
- CentOS 7 及以后版本的 Linux 云服务器默认使用 Firewalld 服务作为防火墙。如果云服务器已经启用 firewalld.service,则需要执行如下操作配置防火墙: 执行如下命令,放行新增的端口号。
firewall-cmd --add-port=新端口号/tcp --permanent
例如,新增的端口号为23456,则执行如下命令:
firewall-cmd --add-port=23456/tcp --permanent
返回结果为 success
即表示放行成功。
7.参见 修改安全组规则,将协议端口为 TCP:22 的安全组规则修改为 步骤3 新增的端口号。
验证操作
Windows 云服务器的验证
1. 以本地计算机为 Windows 操作系统为例,打开远程桌面连接对话框。
2. 在计算机后面,输入 Windows 服务器的公网 IP:修改后的端口号
,单击连接。如下图所示:
3. 根据界面提示,输入实例的管理员账号和密码,单击确定。
进入 Windows 云服务器的操作系统界面,即表示连接登录成功。
说明
如果您使用 RDP 文件登录 Windows 云服务器,请先修改 RDP 文件中的
full address:s
参数。如下图所示:
Linux 云服务器的验证
1. 以 PuTTY 远程登录软件为例,打开 PuTTY 客户端。
2. 在 PuTTY Configuration 窗口中,输入 Linux 云服务器的公网 IP,将 Port 设置为新的端口号,单击 Open。如下图所示:
3. 根据界面提示,输入 Linux 云服务器的用户名和密码,按 Enter。
进入如下界面,即表示连接登录成功。
4. 使用新端口连接 Linux 云服务器成功后,执行如下命令,注释22默认端口。
vim /etc/ssh/sshd_config
5. 按 i 切换至编辑模式,在 Port 22
前输入#
,注释该端口。
6. 按 Esc,输入 :wq,保存内容并返回。
7. 执行如下命令,使配置修改后生效。下一次登录时,使用新的端口远程登录 Linux 云服务器即可。
systemctl restart sshd.service