首先安装semanage
yum provides semanage
Last metadata expiration check: 0:10:02 ago on Sat 25 Apr 2020 06:08:56 AM UTC.
policycoreutils-python-utils-2.9-3.el8_1.1.noarch : SELinux policy core python utilities
Repo : BaseOS
Matched from:
Filename : /usr/sbin/semanage
可以看到semanage的版本,安装。
yum install policycoreutils-python-utils-2.9-3.el8_1.1.noarch
然后修改端口
- 第一步:修改SSH配置文件
vim /etc/ssh/sshd_config
找到#Port 22
,这一行直接键入yyp
复制该行到下一行,然后把两行的#
号即注释去掉,修改成:
Port 22 #不要关闭22端口,防止无法登录
Port 10086
- 第二步:如果你关闭了SELinux,可以忽略第二步。
先查看SELinux开放给ssh使用的端口
semanage port -l|grep ssh
我的系统打印如下:
ssh_port_t tcp 22
可知,SELinux没有给SSH开放10086端口,那么我们来添加该端口:
semanage port -a -t ssh_port_t -p tcp 10086
完成后,再次查看
semanage port -l|grep ssh
ssh_port_t tcp 22,10086
- 第三步:如果你关闭了防火墙,可以忽略第三步,话说防火墙不开启太危险了,建议开启。
先查看防火墙是否开启了10086端口:
firewall-cmd --permanent --query-port=10086/tcp
打印结果如下:
no
如果提示没有开启防火墙,用下列命令开启:
systemctl start firewalld
表示没有开放10086端口,那么添加下该端口:
firewall-cmd --permanent --add-port=10086/tcp
打印结果如下:
success
重新加载防火墙策略:
firewall-cmd --reload
执行成功后,查看10086端口是否被开启:
firewall-cmd --permanent --query-port=10086/tcp
打印结果如下:
yes
第四步:重启SSH服务和防火墙,最好也重启下服务器
systemctl restart sshd
systemctl restart firewalld.service
shutdown -r now
- 第五步:尝试通过10086端口登录SSH,或者进入该服务器直接本地访问SSH如下:
ssh root@localhost -p 10086
登录成功后
关闭默认 22端口
firewall-cmd --permanent --zone=public --remove-port=22/tcp
重启防火墙
systemctl reload firewalld
查看防火墙端口
firewall-cmd --list-ports