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