更改VPS的默认SSH端口22

本教程根据最新的Centos 7规则来更改端口,主要用来防止默认的22端口被暴力破解
 
更改SSH配置文件:

通过SSH客户端连接自己的vps,默认通过SSH协议22端口远程登录。

现在打算将默认的22端口改成其他端口,比如2211端口

1. 登录系统后,运行以下命令打开sshd_config文件:

vi /etc/ssh/sshd_config

2. 在默认的SSH端口配置下面添加一个我们要用的新的端口

Port 22
# 默认的22端口配置,注意现在不删除这个默认的22端口配置,避免修改后无法链接SSH
Port 2211
# 新添加的2211端口配置

3. 运行以下命令重启ssh服务(或重启服务器)即可:

systemctl restart sshd

 
在SELinux中添加端口:

如果你关闭了SELinux,可以忽略此步。

1. 安装SELinux策略编辑器:

yum -y install policycoreutils-python

2. 先查看SELinux开放给ssh使用的端口:

semanage port -l|grep ssh

3. 如果SELinux没有给SSH开放2211端口,运行以下命令添加该端口:

semanage port -a -t ssh_port_t -p tcp 2211

4. 完成后,再次检查是否添加成功:

semanage port -l|grep ssh

 
防火墙放行新端口:

如果经过以上步骤编辑好SSH配置文件并重启服务后仍无法连接

则需要在防火墙添加入站规则来放行新端口(如果服务商自带防火墙也要一并开启)

1. CentOS 7.5默认是安装了防火墙但没有开启,运行以下命令可以开启:

systemctl start firewalld.service

2. 运行以下命令开放防火墙对应端口:

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

3. 运行如下命令重新加载防火墙策略:

firewall-cmd --reload

4. 运行以下命令查看端口是否开启,如果已开启则可以用SSH客户端通过2211端口登录。

firewall-cmd --permanent --query-port=2211/tcp

5. 重启SSH服务即可尝试连接:

systemctl restart sshd

6. 其他防火墙命令整理:

停止firewall:
systemctl stop firewalld.service

禁止firewall开机启动:
systemctl disable firewalld.service

重启firewall:
systemctl restart firewalld.service

 
删除初始SSH端口22:

完成以上步骤后可以再重启下机器,尝试下是否还可以正常连接新端口。

1. 如果没问题的话则删除掉ssh配置文件里的22端口即可:

vi /etc/ssh/sshd_config

2. 找到Port 22并注释或者删除此行:

#Port 22
# 注释掉22端口,或者直接删除此行
Port 2211
# 新添加的2211端口配置

3. 最后重启SSH服务就大功告成:

systemctl restart sshd

发表评论

电子邮件地址不会被公开。 必填项已用*标注

19 + = 20