服务器 远程端口的更改是一个重要的 安全措施 ,它可以帮助防止未授权访问和恶意攻击,本文将详细介绍如何更改服务器远程端口,并给出相关的常见问题与解答。
一、了解远程端口

在开始更改之前,我们需要明确什么是远程端口,远程端口是指服务器上用于接收外部连接请求的网络端口,默认情况下,Windows操作系统使用3389端口进行远程桌面连接,而Linux系统则使用22端口进行SSH连接。
二、更改Windows远程桌面端口
1、 打开注册表编辑器
按下组合键,输入,然后按回车键打开注册表编辑器。
如果弹出用户账户控制窗口,点击“是”以允许更改。
2、 定位到远程桌面设置项
在左侧树状目录中,依次展开以下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
3、 修改端口号
在右侧窗口中找到名为
PortNumber
的DWORD(32位)值,双击它。
在弹出的编辑窗口中,选择“十进制”选项卡,然后输入你想要设置的新端口号(范围为1025-65535)。
点击“确定”保存更改。
4、 重启远程桌面服务
按下组合键,输入
services.msc
,然后按回车键打开服务管理器。
在服务列表中找到“Remote Desktop Services”或“TermService”(具体名称可能因Windows版本而异),右键点击它,选择“重启”。
5、 更新防火墙规则
打开“控制面板”,找到并进入“Windows Defender 防火墙”。
点击左侧的“高级设置”,然后在左侧导航窗格中选择“入站规则”。
在右侧操作窗格中,点击“新建规则…”。
按照向导指示,创建一个新的入站规则,允许你刚刚设置的新端口号的流量通过防火墙。
三、更改Linux SSH端口
1、 编辑SSH配置文件
打开终端,输入以下命令以使用文本编辑器(如nano或vi)打开SSH配置文件:
sudo nano /etc/ssh/sshd_config
在文件中找到这一行(如果找不到就自己添加一行),去掉注释符号,并将数字22改为你想要设置的新端口号(范围为1025-65535)。
2、 重启SSH服务
保存并关闭配置文件后,输入以下命令重启SSH服务:
sudo systemctl restart ssh
(对于较旧的Linux发行版,可能需要使用
sudo service ssh restart
)。
3、 更新防火墙规则
根据你使用的防火墙软件不同,更新规则的方法也会有所不同,以下是一些常见防火墙软件的更新方法:
:
sudo ufw allow <新端口号>/tcp
:
sudo firewall-cmd --permanent --add-port=<新端口号>/tcp && sudo firewall-cmd --reload
:
sudo iptables -A INPUT -p tcp --dport <新端口号> -j ACCEPT && sudo iptables-save
四、相关问题与解答
1、 问题一:更改远程端口后,原来的端口还会开放吗?
答:不会,当你更改远程端口后,原来的端口会自动关闭,但为了确保安全性,建议你手动检查并确认原端口已关闭,你可以使用网络扫描工具(如nmap)来检查端口状态。
2、 问题二:如果忘记了新设置的远程端口号怎么办?
答:如果你忘记了新设置的远程端口号,可以尝试以下方法找回:
查看配置文件
:对于Windows,可以查看注册表编辑器中的相应设置项;对于Linux,可以查看
/etc/ssh/sshd_config
文件中的配置项。
尝试常见端口 :如果你只更改了很少的几个端口,并且记得它们大概的范围,可以尝试逐个尝试这些端口,看哪个能够成功连接,但这种方法效率较低且耗时较长。
联系管理员 :如果你是在公司或学校的网络环境中遇到这个问题,可以联系网络管理员寻求帮助,他们可能有权限查看相关配置信息或者能够提供其他解决方案。
小伙伴们,上文介绍了“ 服务器远程端口怎么更改 ”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
如何修改Apache的端口
在配置文件里修改,然后重启APACHE服务器.# Listen: Allows you to bind Apache to specific IP addresses and/or# ports, instead of the default. See also the
tp-link路由器的虚拟服务器怎么设置
TP-link路由器端口映射设置1.设置端口映射首先需要判断路由器的IP地址,一般就是您当前的上网网关啦。 通过cmd命令行输入 ipconfig 查看默认网关设置项目在浏览器上打开默认网关地址如然后回车会弹出对话框要求登陆,一般默认的用户名 admin 密码是 admin2.虚拟服务器打开tp-link系统里面之后,找到 “转发规则”---“虚拟服务器”如下图3.点击之后,进入“添加新条目” 根据内部端口和需要映射的IP地址4.除此之外,如果映射的80端口外网访问是路由器不是需要映射的服务器,这也就是web远程管理。 找到 安全功能---远程web管理 把远程web管理关掉,或者修改其他端口5.其他注意事项端口映射设置可以把内网服务器对外公开服务,如果是动态IP的话。 一般由于ISP会把80端口封掉不能使用
如何让mysql以root用户远程登陆mySQL数据库
开启MySQL的远程登陆帐号有两大步:1、确定服务器上的防火墙没有阻止3306端口。 MySQL默认的端口是3306,需要确定防火墙没有阻止3306端口,否则远程是无法通过3306端口连接到MySQL的。 如果您在安装MySQL时指定了其他端口,请在防火墙中开启您指定的MySQL使用的端口号。 如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询。 2、增加允许远程连接MySQL用户并授权。 1)首先以root帐户登陆MySQL在Windows主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL的bin目录下,然后输入下面的命令。 在Linux主机中在命令提示行下输入下面的命令。 >MySQL-uroot-p6为root用户的密码。 2)创建远程登陆用户并授权>grantallPRIVILEGESondiscuz.*toted@123.123.123.123identifiedby;上面的语句表示将discuz数据库的所有权限授权给ted这个用户,允许ted用户在123.123.123.123这个IP进行远程登陆,并设置ted用户的密码为。 下面逐一分析所有的参数:allPRIVILEGES表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,sqlserver/=_blank>delete,create,drop等,具体权限间用“,”半角逗号分隔。 discuz.*表示上面的权限是针对于哪个表的,discuz指的是数据库,后面的*表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。 ted表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。 123.123.123.123表示允许远程连接的IP地址,如果想不限制链接的IP则设置为“%”即可。 为用户的密码。 执行了上面的语句后,再执行下面的语句,方可立即生效。 >flushprivileges;远程登录mysql一些常用的代码段,大家可参考一下。 一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:在本机先使用root用户登录mysql:mysql-uroot-pyoupassword进行授权操作:mysql>GRANTALLPRIVILEGESON*.*TOroot@%IDENTIFIEDBYyoupasswordWITHGRANTOPTION;重载授权表:FLUSHPRIVILEGES;退出mysql数据库:exit二、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下:在本机先使用root用户登录mysql:mysql-uroot-pyoupassword进行授权操作:GRANTALLPRIVILEGESON*.*TOroot@172.16.16.152IDENTIFIEDBYyoupasswordWITHGRANTOPTION;重载授权表:FLUSHPRIVILEGES;退出mysql数据库:exit三、允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下:在本机先使用root用户登录mysql:mysql-uroot-pyoupassword进行授权操作:GRANTselect,insert,update,deleteON*.*TOroot@172.16.16.152IDENTIFIEDBYyoupassword;重载授权表:FLUSHPRIVILEGES;退出mysql数据库:exit四、删除用户授权,需要使用REVOKE命令,具体命令格式为:REVOKEprivilegesON数据库[.表名]FROMuser-name;具体实例,先在本机登录mysql:mysql-uroot-pyoupassword进行授权操作:GRANTselect,insert,update,deleteONTEST-DBTOtest-user@172.16.16.152IDENTIFIEDBYyoupassword;再进行删除授权操作:REVOKEallonTEST-DBfromtest-user;****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。 最后从用户表内清除用户:DELETEFROMuserWHEREuser=test-user;重载授权表:FLUSHPRIVILEGES;退出mysql数据库:exit
发表评论