SSH基础配置与密钥认证
在CentOS系统环境中,通过修改/etc/ssh/sshd_config
文件实现SSH服务的安全配置。建议完成以下核心设置:
- 禁用密码登录:设置
PasswordAuthentication no
- 修改默认端口:设置
Port 5022
等非标准端口 - 限制root登录:设置
PermitRootLogin no
配置完成后需执行systemctl restart sshd
命令使设置生效。建议使用sshd -t
命令预先测试配置文件语法。
密钥对生成与安全部署
使用RSA算法生成4096位密钥对,建议执行以下命令序列:
- 生成密钥:
ssh-keygen -t rsa -b 4096 -C "user@host"
- 设置私钥权限:
chmod 600 ~/.ssh/id_rsa
- 部署公钥至服务器:
ssh-copy-id -p 5022 user@remote_host
文件类型 | 存储路径 | 推荐权限 |
---|---|---|
私钥 | ~/.ssh/id_rsa | 600 |
公钥 | ~/.ssh/id_rsa.pub | 644 |
防火墙规则设置与加固
结合iptables或firewalld实现网络层防护,建议配置策略包括:
- 限制SSH连接源IP:
iptables -A INPUT -p tcp --dport 5022 -s 192.168.1.0/24 -j ACCEPT
- 设置连接频率限制:
iptables -A INPUT -p tcp --dport 5022 -m state --state NEW -m recent --set
- 启用fail2ban防御暴力破解:配置
/etc/fail2ban/jail.d/sshd.conf
建议每月检查防火墙日志,更新访问控制列表。云服务器需同步配置安全组规则。
通过三阶段配置实现服务器远程访问的纵深防御:SSH协议加固建立安全通道,密钥认证替代弱密码验证,防火墙规则过滤非法请求。建议每季度执行安全审计,及时更新密钥对和防火墙策略。