Centos 7修改ssh端口启动失败解决办法

现象:为保证服务器远程连接的安全性,修改ssh远程端口从默认22端口至其他端口

修改/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

#Port 22 //这行去掉#

Port 520 //下面添加这一行

重启ssh服务

systemctl restart sshd.service

查看ssh状态

systemctl status sshd.service

 使用ssh工具连接服务器失败

原因:

服务器操作系统版本为Centos 7

[root@localhost ~]# getenforce

Enforcing

 

 解决方法:

关闭selinux,修改配置文件

vi /etc/selinux/config

设置SELinux为disable

SELINUX=disabled

保存退出,重启服务器,远程连接正常。

使用以下命令查看当前SElinux允许的ssh端口:

semanage port -l | grep ssh

添加520端口到SELinux

semanage port -a -t ssh_port_t -p tcp 520

然后确认一下是否添加进去

semanage port -l | grep ssh

如果成功会输出

ssh_port_t tcp 520, 22

重启ssh

systemctl restart sshd.service

不过上述方法仅仅是在ssh中设置端口,还要在防火墙firewalld中放行端口才是

CentOS 7防火墙换用Friewalld

其实跟iptable一样就命令不一样

这里有个问题如果要添加范围例外端口如1000-2000

语法命令如下:

启用区域端口和协议组合

firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]

此举将启用端口和协议的组合端口可以是一个单独的端口 或者是一个端口范围。协议可以是tcpudp

实际命令如下:

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

执行可以成功。

作者:运维密码
出处:https://mefj.com.cn/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。

     扫一扫 运维公众号

原文地址:https://www.cnblogs.com/mefj/p/15030808.html