至于为什么要修改SSH端口号,那是因为大家都知道SSH的默认端口是22,为了让我们的服务器安全性更高一些,也就有了修改SSH默认端口的想法。
平常未修改SSH默认端口时,我们通常是ssh用户名@IP地址,如图1:
现在开始进行修改SSH默认端口:
1、编辑/etc/ssh/sshd_config配置文件;
2、按Shift+:组合键,进入指令模式后,输入/22查找到默认端口将22修改为想要替换的端口,并去掉此行最前端的#号,我这里暂且为54660
3、保存退出
4、重启ssh服务
结果1:重启后,如果我们关闭selinux及防火墙,我们就可以使用SSH 用户名@IP -p 端口号登录了,如果我们需要更强的安全性,即要开启selinux及防火墙,
结果2:重启SSH服务后,不要退出远程终端,我们还需要进行操作修改改过的端口的selinux上下文,因为selinux默认SSH端口只允许22端口
下面我们开始修改selinux上下文:
我们使用命令semanage port -l | gre 'b22b'查看22端口的上下文是什么
由于系统是最小化安装,没有semanage命令,我们需要使用yum whatprovides semanage命令查找semanage是由哪个包来支持的,如图6:
根据图6我们可以知道我们需要安装policycoreutils-python-2.5-33.el7.x86_64包,安装即可使用semanage命令了
此时使用图9命令就可以看到22端口的上下文为ssh_port_t,我们使用命令semanage port -a -t ssh_port_t -p tcp 54660 对修改后的端口更改查询到的结果即可
(注:-a 增加 -t 指定要添加的上下文 -p 指定协议)
此时查看54660的端口上下文与22端口相同,54660端口也监听了
接下来就是添加防火墙规则:
我们使用10.0.0.30和10.0.0.40远程测试一下:
根据上图可以看出只有10.0.0.30主机可以远程通过连接