云服务器

linux服务器远程服务(ssh)默认远程端口为22。在实际的生产环境中,在当远程端口不及时修改的情况下,或许会有不法分子通过默认的远程端口来入侵服务器,或者是给服务器植入病毒。那这就需要修改远程端口来加强服务器防护。

 

那为了防止此类情况发生,我们蓝队云服务器现在已经做出调整,当云服务器开通的时候,会随机设置远程端口。端口信息也可以在会员中心云服务器管理中进行查看:

1.png


但是即便如此,我们还是需要掌握修改远程端口的方法,那么下面将主要介绍一下Linux服务器修改远程端口的方法(以Centos7系统为例)。



一、修改sshd_config配置文件,修改远程端口

使用以命令编辑ssh远程配置文件

vi /etc/ssh/sshd_config

2.png


将Port后面的值修改为1-65535之间的任意值,然后删除Port前的“#”符号.

3.png



二、在防火墙中添加修改后的端口

使用一下命令在防火墙中添加端口

firewall-cmd --zone=public --add-port=25400/tcp --permanent

其中“25400“可以改成你需要添加的任何端口

 

重启防火墙,查看已经开启的端口:

systemctl restart firewalld.service      #重启防火墙
firewall-cmd --list-ports   
#查看防火墙端口

4.png


在会员中心云防火墙中找到服务器对应安全组添加规则:

打开“云服务器 > 云防火墙 > 配置规则“

5.png


点击“添加规则 > 自定义TCP > 输入端口号 > 提交“

6.png


这个时候我们修改后的远程端口25400就可以正常使用了



三、最后在服务器中重启ssh服务即可:

systemctl restart sshd


 

注意1如果在最后一步重启ssh服务时出现以下错误

11111.png


输入journalctl -xe查看报错信息:

11111111111.png

可以发现是权限不够导致重启ssh服务失败。可是我们是root用户。

排查思路:

1.端口没有权限可能是防火墙或者selinux

2.关闭防火墙,重新重启还是失败

3.关闭selinux,重启成功


解决方法:关闭SELinux

首先回到云服务器,在服务器中输入getenforce命令查看SELinux模式

22.png

修改SELinux 强制模式(enforcing)为宽容模式(permissive)

执行命令setenforce 0,再次getenforce查看,结果为Permissive,临时修改完成

再次重启ssh服务不会报错


如果需要永久关闭SELinux,输入vi /etc/selinux/config 编辑selinux配置文件,将SELINUX=enforcing这一行改为SELINUX=disabled后保存退出。

重启服务器后生效。


 

注意2在编辑sshd_config配置文件时,可以在“Port 22”下再添加一个“Port 新端口”,在调试新端口可以成功连接后,再删除“Prot 22”,以免操作失误导致无法进行远程连接

7.png



注意3:修改远程端口后需自行保存记录,蓝队会员中心不会同步更新修改后的远程端口


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: