CentOS免登陆密码登陆:SSH密钥认证配置指南
实现原理
通过生成SSH密钥对替代传统密码验证,将公钥部署至目标服务器,私钥保存在本地客户端。建立连接时自动完成加密验证,消除手动输入密码环节。
操作步骤
1. 生成SSH密钥对
在本地终端执行以下命令(以RSA算法为例):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按提示设置密钥存储路径(默认~/.ssh/id_rsa)和访问密码(可选)。
2. 上传公钥至服务器
使用ssh-copy-id工具自动部署公钥:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
需输入服务器用户密码完成首次传输。
3. 验证密钥权限
检查服务器端文件权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
4. 修改SSH服务配置
编辑服务器SSH配置文件:
sudo vi /etc/ssh/sshd_config
确认以下参数状态:
- PubkeyAuthentication yes
- PasswordAuthentication no
重启SSH服务生效:
sudo systemctl restart sshd
测试与验证
执行连接命令测试:
ssh username@server_ip
成功连接且无需输入密码即表示配置成功。
安全注意事项
- 私钥文件权限应设置为600
- 建议禁用root账户直接登录
- 定期轮换密钥对增强安全性
- 备份authorized_keys文件防止意外丢失