CentOS 修改 SSH 默认端口方法

Anson 教程 505 次浏览 评论已关闭

之前介绍了如何设置 SSH 以密钥方式登录,通常这已经足够应对网络上的碰撞密码风险。如果不希望那些扫描器连接访问,我们还可以将 SSH 默认端口改用其他端口,具体配置步骤如下。

下面示例将 SSH 端口改为 49160(可以使用的端口范围是 1-65535。建议使用 49152-65535 这个范围端口,这部分端口属于“动态或私有端口”范围,没有被其他服务默认使用)。

1. 防火墙放行新端口(这是系统层面,部分主机商家可能还需到控制面板里设置防火墙)。

firewall-cmd --zone=public --add-port=49160/tcp --permanent
firewall-cmd --reload

2. SELinux 设置允许 sshd 进程使用新端口(第一个命令是安装 SELinux 环境管理工具)。

yum -y install policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 49160

3. vi /etc/ssh/sshd_config 修改 SSH 配置文件,找到 #Port 22 参数,去掉 # 注释并更改端口号。

也可以使用下面 sed 命令直接修改。

sed -i 's|^#Port 22|Port 49160|' /etc/ssh/sshd_config

之后重启 SSH 服务刷新配置生效。

systemctl restart sshd