SSH密钥认证原理
SSH密钥认证基于非对称加密技术,通过公钥-私钥对实现身份验证。客户端生成包含公钥(id_rsa.pub)和私钥(id_rsa)的密钥对,其中公钥需部署到服务器的~/.ssh/authorized_keys
文件。连接时服务器用公钥加密随机字符串,客户端用私钥解密完成验证。
- ED25519:推荐算法,密钥长度256位
- RSA:兼容性好,建议长度≥2048位
密钥生成与部署流程
通过以下步骤完成密钥配置:
- 在客户端执行
ssh-keygen -t ed25519
生成密钥对 - 使用
ssh-copy-id user@server_ip
自动部署公钥 - 或手动追加公钥到服务器的
authorized_keys
文件
建议设置密钥文件权限为600,目录权限为700以防止未授权访问。
服务器安全强化设置
修改/etc/ssh/sshd_config
配置文件:
- 禁用密码登录:
PasswordAuthentication no
- 限制root登录:
PermitRootLogin no
- 更改默认端口:
Port 49200
推荐配合防火墙限制SSH访问IP,并安装Fail2Ban防御暴力破解。
连接验证与故障排查
使用ssh -v user@server_ip
查看详细连接日志,常见问题包括:
- 密钥权限配置错误(错误代码255)
- 服务未监听端口(检查
systemctl status sshd
) - 防火墙规则冲突
通过密钥认证替代密码登录可显著提升SSH安全性,配合端口修改、访问限制和日志监控构建纵深防御体系。建议每90天轮换密钥,并定期审计授权密钥列表。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/615117.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。