在CentOS系统中配置SSH安全访问是一个重要的步骤,以确保服务器的安全性和数据的保密性。以下是一些常见的配置步骤和建议:
1. 更新系统
首先,确保你的CentOS系统是最新的:
sudo yum update -y
2. 修改SSH默认端口
默认情况下,SSH使用端口22。为了增加安全性,可以修改默认端口:
sudo vi /etc/ssh/sshd_config
找到#Port 22
这一行,去掉注释并修改为你选择的端口号(例如2222):
Port 2222
3. 禁用root登录
为了防止root用户直接通过SSH登录,可以在sshd_config
文件中添加或修改以下配置:
PermitRootLogin no
4. 使用公钥认证
使用公钥认证比密码认证更安全。首先,生成SSH密钥对:
ssh-keygen -t rsa -b 4096
将公钥复制到目标服务器的~/.ssh/authorized_keys
文件中:
ssh-copy-id user@remote_host
5. 配置SSH密钥认证
确保sshd_config
文件中启用了公钥认证:
PubkeyAuthentication yes
6. 限制SSH访问
可以通过配置sshd_config
文件来限制特定IP地址或IP范围的访问:
AllowUsers user1 user2
或者限制IP范围:
AllowUsers user1@192.168.1.0/24 user2@192.168.1.0/24
7. 启用防火墙
确保防火墙允许SSH连接:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
8. 使用Fail2Ban
Fail2Ban可以防止暴力破解攻击。安装并配置Fail2Ban:
sudo yum install fail2ban -y sudo systemctl start fail2ban sudo systemctl enable fail2ban
编辑Fail2Ban的配置文件/etc/fail2ban/jail.local
,添加以下内容:
[ssh] enabled = true port = 2222 filter = sshd logpath = /var/log/secure maxretry = 3 bantime = 600
9. 定期更新SSH
定期更新SSH软件包以修复已知的安全漏洞:
sudo yum update openssh-server -y
10. 监控和日志
确保SSH日志被正确记录和监控。检查/var/log/secure
文件以查看SSH连接尝试和其他相关事件。
通过以上步骤,你可以显著提高CentOS系统上SSH的安全性。记得定期检查和更新你的安全配置,以应对新的威胁和漏洞。