如何在VPS上设置SSH密钥?
| 步骤 |
操作 |
工具/命令 |
| 1. 生成密钥对 |
在本地终端执行ssh-keygen命令 |
OpenSSH |
| 2. 上传公钥 |
将公钥文件内容添加到VPS的~/.ssh/authorizedkeys |
ssh-copy-id或手动复制 |
| 3. 配置SSH |
修改VPS上的/etc/ssh/sshdconfig文件 |
文本编辑器 |
| 4. 重启服务 |
执行sudo systemctl restart sshd |
systemd |
VPS SSH密钥设置指南
SSH密钥是一种比密码更安全的远程登录方式,特别适合VPS管理。以下是详细的操作步骤:
1. 生成SSH密钥对
在本地终端执行以下命令生成密钥对:
ssh-keygen -t rsa -b 4096
- 按提示选择保存位置(默认
~/.ssh/idrsa)
- 设置一个安全的密码短语(可选)
- 生成后会有
idrsa(私钥)和idrsa.pub(公钥)两个文件
2. 上传公钥到VPS
有两种常用方法:
方法一:使用ssh-copy-id
ssh-copy-id -i ~/.ssh/idrsa.pub username@yourvpsip
方法二:手动添加
- 将公钥内容复制到剪贴板
- SSH登录VPS
- 编辑
~/.ssh/authorizedkeys文件
- 粘贴公钥内容并保存
3. 配置VPS的SSH服务
为了提高安全性,建议修改SSH配置:
- 编辑
/etc/ssh/sshdconfig文件
- 修改或添加以下参数:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorizedkeys
PasswordAuthentication no # 禁用密码登录
PermitRootLogin no # 禁止root直接登录
- 保存后重启SSH服务:
sudo systemctl restart sshd
常见问题解决方案
| 问题 |
原因 |
解决方案 |
| 连接被拒绝 |
防火墙阻止SSH端口 |
检查防火墙设置,开放22端口 |
| 权限被拒绝 |
文件权限不正确 |
设置.ssh目录权限为700,authorizedkeys为600 |
| 连接超时 |
VPS未运行或网络问题 |
检查VPS状态和网络连接 |
| 密钥不匹配 |
密钥对不匹配 |
重新生成密钥对并更新公钥 |
安全建议
- 定期更换密钥对
- 使用强密码短语保护私钥
- 限制允许登录的用户
- 考虑使用fail2ban防止暴力破解
- 启用双因素认证(2FA)增加安全性
通过以上步骤,您可以安全地使用SSH密钥管理VPS,比传统密码方式更安全可靠。
发表评论