一、修改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