以资安的角度,一般上建议将 SSH 默认的 22 埠号变更为其他埠号,而选择埠号时则尽量使用 1024 以上的埠号,以及不要与其他系统服务的埠号相撞。
RHEL 及 CentOS 的 SSH Server 设定档是 /etc/ssh/sshd_config, 以下会设定 SSH 的埠号为 2202, 先开启 SSH 设定档:
# vi /etc/ssh/sshd_config
找到以下一行:
# Port 22
改为
Port 2202
储存盘案后离开编辑器。
在设定 SELinux 前, 需要安装 semanage:
# yum provides semanage
# yum -y install policycoreutils-python
# yum -y install policycoreutils-python
现在设定 SELinux,SELinux 默认只允许 SSH 使用埠号 22, 执行以下指令开启埠号 2202: (如果你设定的埠号不是 2202, 要将指令修改)
# semanage port -a -t ssh_port_t -p tcp 2202
设定后可以执行 semanage 检查是否开启 2202 埠号:
# semanage port -l | grep ssh
ssh_port_t tcp 2202, 22
ssh_port_t tcp 2202, 22
除了开启 SELinux 外,还要设定 firewalld 开启埠号 2202:
|
1 |
# firewall-cmd --permanent --zone=public --add-port=2202/tcp |
重新加载 firewalld
# firewall-cmd –reload
没有问题后可以重新启动 SSH Server:
# systemctl restart sshd.service
更改 SSH 默认埠号后,在终端机连接到 SSH 要加上 -p 参数指定埠号,例如:
ssh -p 2202 root@192.168.1.10