云服务器如何配置SSH免密登录?
云服务器SSH免密登录终极配置指南
在云服务器管理中,频繁输入SSH密码不仅效率低下,还存在安全隐患。本文将手把手教你配置SSH免密登录,实现"一键登录"的便捷操作。

一、准备工作
- 云服务器实例(已安装OpenSSH服务)
- 本地终端(Mac/Linux终端或Windows PowerShell)
- 管理员权限(sudo或root权限)
二、密钥生成步骤
1. 本地生成密钥对
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
默认会在~/.ssh/目录生成id_rsa(私钥)和id_rsa.pub(公钥)
2. 上传公钥到服务器
推荐使用ssh-copy-id工具自动上传:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
或者手动追加到authorized_keys文件:
cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
三、服务器端配置
1. 权限设置
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
2. 修改SSH配置
编辑/etc/ssh/sshd_config文件:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no # 禁用密码登录(可选)
重启SSH服务:sudo systemctl restart sshd
四、连接测试
尝试免密登录:
ssh username@server_ip
五、高级配置
1. 多密钥管理
创建config文件管理不同服务器:
Host myserver
HostName server_ip
User username
IdentityFile ~/.ssh/custom_key
2. 安全加固
- 设置私钥密码:
ssh-keygen -p
- 定期轮换密钥
- 使用ED25519算法:
ssh-keygen -t ed25519
六、常见问题排查
问题现象 | 解决方案 |
---|---|
Permission denied (publickey) | 检查authorized_keys权限是否为600 |
Agent admitted failure to sign | 执行ssh-add ~/.ssh/id_rsa |
总结
通过SSH免密登录配置,您不仅可以提高工作效率,还能增强服务器安全性。建议企业用户结合Jump Server等方案实现更完善的访问控制。