1、 备份 SSH 配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2、 修改 SSH 配置文件
vim /etc/ssh/sshd_config
更改 Port
为 SSH 期望的端口号,此处改为 10022
:
Port 10022
3、 通过 SELinux 启用新创建的端口
默认情况下,SELinux 只允许端口 22 用于 SSH,因此需要通过 SELinux 启用新创建的端口。
semanage port -a -t ssh_port_t -p tcp SSH端口号
示例:
semanage port -a -t ssh_port_t -p tcp 10022
说明:
如果执行以上命令后报错:semanage command not found
,则需要先安装 semanage
软件包
yum install -y policycoreutils-python
4、 允许新端口通过防火墙(仅防火墙开启时需要)
firewall-cmd --permanent --zone=public --add-port=SSH端口号/tcp
示例:
firewall-cmd --permanent --zone=public --add-port=10022/tcp
如果报错:FirewallD is not running
,表示防火墙还没有开启,则可以跳过此步骤。
5、 重载防火墙配置(仅防火墙开启时需要)
firewall-cmd --reload
6、 第六步:重启 SSH 服务
systemctl restart sshd.service
7、 验证 SSH 运行端口
查看 sshd 状态,看添加的端口是否生效。
systemctl status sshd.service
或者通过运行以下命令验证 SSH 现在是否在新端口上运行。
ss -tnlp | grep ssh
8、 使用新端口登录
退出并尝试使用新端口号登录。
ssh root@主机IP -p SSH端口号
示例:
ssh root@192.168.0.1 -p 10022
注意:
如果使用的是腾讯云、华为云、阿里云等云服务商的云服务器,则需要配置安全组规则,在入方向里面添加上面配置的新端口即可。