修改 Linux 和 Windows 默认远程端口

 

2020-01-19

出于安全考虑在装好系统后如果有远程的需求,一般都会修改默认的远程端口,早些都是进入系统之后打开对应文件更改,但这样效率很低。所以分别写了相应的系统脚本,刚好阿里专有云支持在创建实例时自定义数据可以在第一次登录时运行。

修改 Linux 远程端口

Linux 要比 Windows 方便太多,两行代码搞定(正常情况下),当然如果开启了防火墙,则要多加一条。

Terminal window
1
# 在 Port 22 下面添加一行
2
sed -i '/Port 22/a\Port 2233' /etc/ssh/sshd_config
3
# 重启 sshd 服务
4
systemctl restart sshd
5
# 如果有防火墙,需要添加例外
6
firewall-cmd --zone=public --add-port=2233/tcp --permanent

需要注意的是,安装官方版本 CentOS 7 时,更改默认的远程端口后需要关闭 SELinux,或者像前面防火墙一样添加例外,可以参考另一篇周分享:CentOS 7 修改 SSH 端口后报错

修改 Windows 远程桌面端口

其实 Windows 在注册表中修改远程端口号之后,也可以无需重启即可生效的。

Terminal window
1
# 修改注册表中对应的端口号
2
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v "PortNumber" /t REG_DWORD /d "33389" /f
3
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d "33389" /f
4
# 重启远程桌面服务
5
logoff rdp-tcp

同样,如果有开启防火墙也需要新增一条例外,而不是用默认的那一条。