CentOS7设置ssh服务以及修改默认22端口

时间:2024-03-12 14:42:29

很多时候我们都是通过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 服务的端口已经修改成功!