首页 > 技术文章 > centOS7.6精简版上的sshd服务修改端口配置(安装SELinux域依赖包及命令semanage、semanage命令添加、删除允许使用端口)

Micro0623 2021-11-07 17:48 原文

一、修改sshd服务的端口号配置过程如下

  • 第1步:首先修改 sshd 的配置文件 /etc/ssh/sshd_config,修改如下:
[root@localhost ~]# vim /etc/ssh/sshd_config 
Port 22		#将这一行的注释去掉
Port 5500	#添加这一行,新添加一个sshd服务端口号
  • 第2步:设置防火墙放行 5500 端口号,设置如下:
#用iptables添加放行端口,iptables 和 firewall-cmd 用一种即可
[root@localhost ~]# iptables -I INPUT -s 0.0.0.0 -p tcp --dport 5500 -j ACCEPT
#用firewall-cmd添加放行端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=5500/tcp
[root@localhost ~]# firewall-cmd --zone=public --query-port=5500/tcp
  • 第3步:向 SELinux中添加修改的SSH端口,先安装其依赖工具包 policycoreutils-python。安装命令是: yum install policycoreutils-python。还要安装 SELinux的管理工具 semanage,命令是:yum provides semanage。操作如下:
[root@localhost ~]# yum install policycoreutils-python	#先安装semanage的依赖包
#安装过程省略
[root@localhost ~]# yum provides semanage	#安装SELinux管理工具 semanage,过程如下
base/7/x86_64/filelists_db                              | 7.2 MB  00:00:03     
extras/7/x86_64/filelists_db                            | 259 kB  00:00:00     
updates/7/x86_64/filelists_db                           | 6.5 MB  00:00:03     
policycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilities
Repo        : base
Matched from:
Filename    : /usr/sbin/semanage


policycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilities
Repo        : @base
Matched from:
Filename    : /usr/sbin/semanage
  • 第4步:使用semanage命令查询当前 ssh 服务端口、添加端口等操作如下:
[root@localhost ~]# semanage port -l | grep ssh		#查看当前ssh端口
ssh_port_t                     tcp      22
[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 5500	#向SELinux添加ssh端口
[root@localhost ~]# semanage port -l | grep ssh		#验证端口是否添加成功
ssh_port_t                     tcp      5500, 22
  • 第5步:重启 ssh 服务,并使用新端口进行验证。操作如下:
[root@localhost ~]# systemctl restart sshd

C:\Users\xx>ssh tom@192.168.0.40 -p 5500		#在windows电脑上通过5500端口可以正常连接
tom@192.168.0.40's password:
Last login: Fri Nov  5 22:36:58 2021 from 192.168.0.5
[tom@localhost ~]$
  • 写到最后,通过新端口可以正常连接 Linux 后,可以将 ssh 的配置文件 /etc/ssh/sshd_config 中的 Port 22 这行注释掉,重启 ssh 服务不会报错,也可以正常通过新端口连接 Linux。
  • 如果要将SELinux中给 ssh 添加的 5500 端口移除,使用 --delete 参数,操作如下:
[root@localhost ~]# semanage port --delete -t ssh_port_t -p tcp 5500
[root@localhost ~]# semanage port -l | grep ssh		#验证是否删除成功
ssh_port_t                     tcp      22

推荐阅读