很多时候我们都是通过SSH 服务 来对 Linux 进行操作,而不是直接来操作Linux机器,包括对Linux服务器的操作,因此,设置SSH服务对于学习Linux来说属于必备技能(尤其是运维人员),关于CentOS 7 对于防火墙这一块的设置有一定的修改,新增了 firewalld 模块,具体修改可以参考官方文档,这里只介绍CentOS 7设置 SSH 服务以及端口的修改
1.安装 ssh服务
root 用户登录机器,使用 yum 安装 ssh 服务:
yum install openssh-server
查看ssh的安装包 :
rpm -qa | grep ssh
查看ssh是否安装成功 :
ps -ef | grep ssh
安装完成之后已经可以进行ssh 登录了,默认的ssh服务端口为 22
如果只是使用 ssh服务来练习操作虚拟机,到这里就已经可以了
下面我将介绍CentOS 7 ssh 服务的端口修改
2.修改SSH服务端口
使用 root 用户进入 /etc/ssh/ 目录: cd /etc/ssh/
使用 vi/vim 打开 sshd_config 文件:
vi /etc/ssh/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的版本不支持
删除默认的22端口
firewall-cmd --zone=public --remove-port=22/tcp --permanent
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 服务的端口已经修改成功!