一、操作场景
·修改 Windows 云服务器默认远程端口
·修改 Linux 云服务器默认远程端口
二、修改 Windows 云服务器默认远程端口
注意:说明:
注意:如下操作以 Windows Server 2012 操作系统为例,由于操作系统版本和语言不同,详细操作步骤略有区别。
1. 使用 VNC 登录 Windows 实例。
2. 在操作系统界面中,单击 ,打开 Windows PowerShell 窗口。
3. 在 Windows PowerShell 窗口中,输入 regedit,按 Enter,打开注册表编辑器窗口。
4. 在左侧的注册表导航中,依次展开 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Terminal Server > Wds > rdpwd > Tds > tcp 目录。
5. 找到 tcp 中的 PortNumber,并将 PortNumber 数据值修改为1024-65535之间未被占用的端口。如下示例,将默认远程端口从3389修改为1234:
6.
7. 在左侧的注册表导航中,依次展开 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Terminal Server > WinStations > RDP-Tcp 目录。
8. 找到 RDP-Tcp中的 PortNumber,并将 RDP-Tcp 中的 PortNumber 数据(端口号)修改为与 tcp 中的 PortNumber 数据(端口号)一致的端口号。
9. (可选)如果你的云服务器开启了防火墙,需将新的端口添加至防火墙并设置允许连接:
9.1 在 Windows PowerShell 窗口中,输入 wf.msc,按 Enter,打开 “高级安全 Windows 防火墙” 窗口。
9.2 在高级安全 Windows 防火墙窗口中,选择入站规则,单击新建规则。如下:
9.3 在新建入站规则向导窗口的 规则类型步骤中,选择端口,单击下一步。
9.4 在新建入站规则向导窗口的协议和端口步骤中,选择 TCP,并将特定本地端口填写为 步骤5 设置的端口号,单击下一步。如下:
9.5 在新建入站规则向导窗口的操作步骤中,选择允许连接,单击下一步。
9.6 在新建入站规则向导窗口的配置文件步骤中,使用默认配置即可,单击下一步。
9.7 在新建入站规则向导窗口的名称步骤中,填写规则名称,单击完成。
10. 在 Windows PowerShell 窗口中,输入 services.msc,按 Enter,打开服务窗口。
11. 在服务窗口中,找到 Remote Desktop Services,并右键单击 Remote Desktop Services,选择重新启动,重启远程登录服务。
12. 参见 修改安全组规则,安全组入站规则参考下图修改为 步骤5 设置的端口号。
注意:远程端口号默认情况下同时控制 TCP+UDP 两种协议,安全组也应放通 UDP 对应的端口号,但部分业务网络环境,可能"只TCP"或者“TCP+UDP”会更稳定一些,安全组根据实际情况做相应调整。
·服务端:可通过注册表或者组策略方式来调整协议,调整后需重启远程服务生效。
·【注册表方式】
reg query 是查询,SelectTransport 值默认是2,代表服务端 TCP+UDP 协议组合,SelectTransport 值改成1代表服务端仅 TCP 。
reg query "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp" /v SelectTransport
如需修改为"只TCP",执行如下命令将 SelectTransport 值改成1:
reg add "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp" /v SelectTransport /t REG_DWORD /d 1 /f
·【组策略方式】
·客户端:一般用组策略调整协议类型
计算机配置→ 管理模板→ Windows组件→ 远程桌面服务→ 远程桌面连接客户端→ 关闭客户端上的UDP→ 是否启用
三、修改 Linux 云服务器默认远程端口
注意:说明:
1. 使用 VNC 登录 Linux 实例。
2. 执行如下命令,修改配置文件。
vim /etc/ssh/sshd_config
3. 按 i 切换至编辑模式,增加新端口内容,在 #Port 22 下新增一行 Port 新端口号。如下:
例如 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,则需要执行如下操作配置防火墙:
执行如下命令,放行 步骤3 新增的端口号。
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