SSH密钥认证比密码认证更安全、更便捷。本文将介绍如何生成SSH密钥对并配置服务器。
生成SSH密钥
执行后会提示:
- 密钥保存位置(直接回车使用默认路径)
- 设置密码保护私钥(建议设置)
上传公钥到服务器
方法一:使用 ssh-copy-id(推荐)
1
| ssh-copy-id username@server_ip
|
这个命令会自动将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中。
方法二:手动复制
- 查看公钥内容:
- 登录服务器并添加公钥:
1 2 3 4
| ssh username@server_ip mkdir -p ~/.ssh echo "你的公钥内容" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
|
配置SSH服务器
编辑SSH配置文件:
1
| sudo nano /etc/ssh/sshd_config
|
添加或修改以下配置:
1 2 3 4 5
| PubkeyAuthentication yes
PasswordAuthentication no
|
重启SSH服务:
1
| sudo systemctl restart ssh
|
测试登录
如果配置正确,应该能够无密码登录服务器。
常见问题
权限问题
确保文件权限正确:
1 2
| chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
|
SSH服务重启问题
如果遇到 Unit sshd.service not found 错误:
1 2 3
| sudo systemctl restart ssh sudo systemctl restart sshd
|