Centos 7系统版本修改ssh远程端口不生效

浏览次数:2268

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

修改/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

#Port 22 //这行去掉#号

Port 20000 //下面添加这一行

重启ssh服务systemctl restart sshd.service

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

原因:

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

[root@vsbmanager ~]# getenforce

Enforcing

解决方法:

①关闭selinux,修改配置文件vi /etc/selinux/config

SELINUX=disabled

关闭SELinux,重启服务器,远程连接正常。

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

semanage port -l | grep ssh

添加20000端口到SELinux

semanage port -a -t ssh_port_t -p tcp 20000

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

semanage port -l | grep ssh

如果成功会输出

ssh_port_t tcp 20000, 22

重启ssh

systemctl restart sshd.service

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

CentOS 7防火墙换用Friewalld了

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

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

语法命令如下:

启用区域端口和协议组合

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

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

实际命令如下:

firewall-cmd --permanent --add-port=20000/tcp

执行可以成功。