Debian 11 VPS服务器SSH密钥登录配置详解
文章分类:更新公告 /
创建时间:2025-09-10
在VPS服务器的日常管理中,SSH(Secure Shell)是最常用的远程登录方式。传统密码登录存在泄露风险,而通过配置SSH密钥登录,能让Debian 11系统的VPS服务器安全性大幅提升。本文将从密钥生成到最终验证,完整讲解这一过程。
为什么选择SSH密钥登录?
传统密码登录依赖记忆或存储的字符串,一旦密码被暴力破解或泄露,服务器安全将直接受威胁。SSH密钥登录采用非对称加密技术,通过「私钥+公钥」的配对方式验证身份:本地保留私钥(类似钥匙),服务器存储公钥(类似锁)。即使公钥泄露,没有私钥也无法登录,安全性远高于单纯密码验证。
第一步:生成本地SSH密钥对
无论使用Windows(需安装WSL或Git Bash)、macOS还是Linux系统,生成密钥对的操作一致。打开终端输入命令:
ssh-keygen -t rsa -b 4096
- `-t rsa`指定密钥类型为RSA(目前最广泛使用的加密算法);
- `-b 4096`设置密钥长度为4096位(建议不低于2048位,越长越安全)。
执行后系统会提示:
1. 选择密钥保存路径(默认`~/.ssh/id_rsa`,直接回车使用默认);
2. 设置私钥保护密码(可选,但建议设置防止私钥丢失后被他人使用)。
完成后,`~/.ssh`目录下会生成两个文件:`id_rsa`(私钥,绝对不可泄露)和`id_rsa.pub`(公钥,可复制到服务器)。
第二步:将公钥传输至VPS服务器
公钥需要存储在VPS服务器的`~/.ssh/authorized_keys`文件中,才能实现密钥验证。推荐使用`ssh-copy-id`命令自动完成这一步:
ssh-copy-id username@vps_ip
- `username`是VPS的登录用户名(如`root`或普通用户);
- `vps_ip`是VPS服务器的公网IP地址。
首次执行时会提示输入该用户的密码(用于临时登录服务器写入公钥),输入后公钥会自动追加到`authorized_keys`文件。若提示找不到命令(如Windows系统),可手动复制公钥内容(`cat ~/.ssh/id_rsa.pub`查看),通过`ssh`登录服务器后,将内容粘贴到`~/.ssh/authorized_keys`中(注意:`~/.ssh`目录权限需为700,`authorized_keys`文件权限需为600)。
第三步:配置服务器禁用密码登录
为彻底关闭密码登录风险,需修改SSH服务配置文件。登录VPS后执行:
sudo nano /etc/ssh/sshd_config
找到以下参数并修改(若不存在则添加):
- `PubkeyAuthentication yes` (启用公钥认证)
- `PasswordAuthentication no` (禁用密码认证)
保存退出(`Ctrl+O`保存,`Ctrl+X`退出)后,重启SSH服务使配置生效:
sudo systemctl restart sshd
第四步:验证密钥登录是否生效
在本地终端输入:
ssh username@vps_ip
若无需输入密码直接登录,说明配置成功。若提示`Permission denied`,需检查:
- 公钥是否正确写入`authorized_keys`;
- `~/.ssh`目录和`authorized_keys`文件权限是否正确;
- SSH服务配置是否保存并重启。
关键注意事项
- 私钥安全:私钥文件`id_rsa`需存储在安全位置(如本地加密磁盘),避免上传至云盘或共享设备;
- 多设备管理:若需从多台设备登录,需将每台设备的公钥都添加到服务器的`authorized_keys`;
- 定期轮换:建议每3-6个月生成新的密钥对,删除旧公钥,降低长期使用同一密钥的风险。
通过以上步骤,Debian 11 VPS服务器即可实现安全的SSH密钥登录。这种方式不仅规避了密码泄露风险,还能提升远程管理效率——尤其对于需要频繁登录服务器的开发者或运维人员,省去了重复输入密码的麻烦。
工信部备案:苏ICP备2025168537号-1