很多时候我们都是通过SSH 服务 来对 Linux 进行操作,而不是直接来操作Linux机器,包括对Linux服务器的操作,因此,设置SSH服务对于学习Linux来说属于必备技能(尤其是运维人员),关于CentOS 7 对于防火墙这一块的设置有一定的修改,新增了 firewalld
模块,具体修改可以参考官方文档,这里只介绍CentOS 7设置 SSH 服务以及端口的修改
1.安装 ssh服务
root 用户登录机器,使用 yum 安装 ssh 服务: yum install openssh-server
查看安装的 ssh 服务包
安装完成之后已经可以进行ssh 登录了,默认的ssh服务端口为 22
如果只是使用 ssh服务来练习操作虚拟机,到这里就已经可以了
下面我将介绍CentOS 7 ssh 服务的端口修改
2.修改SSH服务端口
使用 root 用户进入 /etc/ssh/
目录: cd /etc/ssh/
使用 vi/vim 打开 sshd_config
文件: vim sshd_config
在修改端口之前,先添加一个端口,找到 Port
进行修改
修改之后,进行保存
3.向防火墙中添加修改的端口
向防火墙中添加端口的命令为: firewall-cmd --zone=public --add-port=10022/tcp --permanent
reaload
防火墙规则: firewall-cmd --reload
查看端口是否添加成功: firewall-cmd --zone=public --query-port=10022/tcp
注意: 这里的设置是在 CentOS 7 版本下的操作 , 低于 CentOS 7的版本不支持
4.向SELinux中添加修改的SSH端口
在向SELinux中添加端口之前需要先安装SELinux的管理工具 semanage
(如果已经安装了就直接到下一步) : yum provides semanage
在这里我们看到运行 semanage
需要先安装其依赖工具包 policycoreutils-python
: yum install policycoreutils-python
安装好之后,可以直接使用 semanage
命令:
查询当前 ssh 服务端口: semanage port -l | grep ssh
向 SELinux 中添加 ssh 端口: semanage port -a -t ssh_port_t -p tcp 10022
验证 ssh 端口是否添加成功: semanage port -l | grep ssh
添加成功之后就可以重启 ssh 服务了: systemctl restart sshd.service
使用新添加的端口进行登录:
到这里 ssh 服务的端口已经修改成功!