CentOS7由于使用了firewall和SELinux,使得更改SSH有些麻烦。网上有些教程都是不完整的,所以做一个可用的教程。

准备工作

1.需要安装vim和semanage软件,如果没有安装可以使用下面的命令进行安装。

yum install -y vim
yum install -y policycoreutils-python

操作过程

1.修改ssh配置文件

vim /etc/ssh/sshd_config

找到#Port 22 这一行并将#去掉,然后在下面增加一行Port 2222,这可以防止万一更改ssh端口失败,仍然可以通过原先的22端口连接服务器。
2.更改firewall配置
在firewall中添加想要的ssh端口

firewall-cmd --zone=public --add-port=2222/tcp --permanent

然后需要重启firewall

firewall-cmd --reload

重启完成后需要检查刚才的设置是否有效,输入下面的命令,如果返回yes即表示成功。

firewall-cmd --zone=public --query-port=20000/tcp

3.更改SELinux配置
首先使用semanage检查SELinux当前允许的ssh端口

semanage port -l | grep ssh

将新增的端口号添加到SELinux中

semanage port -a -t ssh_port_t -p tcp 2222

检查一下是否添加成功

semanage port -l | grep ssh

如果成功将会输入如下的反馈

ssh_port_t                    tcp    2222, 22

4.重启ssh服务
一个简单的命令行即可

systemctl restart sshd.service

5.校验和善后工作
使用新的端口号测试是否能够脸上ssh,如果成功就返回步骤一中将Port 22前面的#加回去。

标签: 教程, vps, linux

添加新评论