zh

VPS SSH密钥认证:完整配置指南

SSH密钥认证比密码登录安全得多。密钥使用数学上无法暴力破解的加密算法,即使密钥泄露也需要配合私钥文件才能登录。本指南介绍如何在本地生成SSH密钥对,将公钥上传到VPS,并完全禁用密码登录。

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

在本地生成SSH密钥对

SSH密钥对由私钥(保存在本地,绝不分享)和公钥(上传到服务器)组成。 在本地终端(Linux/macOS/Windows PowerShell)生成ED25519密钥: ssh-keygen -t ed25519 -C "标识注释(如邮箱)" 命令执行后: 1. 选择保存路径(直接回车使用默认路径 ~/.ssh/id_ed25519) 2. 设置密钥密码(passphrase)- 强烈建议设置,即使密钥文件泄露也多一层保护 3. 确认密钥密码 生成完成后,~/.ssh/ 目录下会有两个文件: - id_ed25519:私钥文件(权限应为600,绝不分享) - id_ed25519.pub:公钥文件(可安全分享) 查看公钥内容:cat ~/.ssh/id_ed25519.pub ED25519算法比传统RSA 2048更安全、更快速,推荐优先使用。

将公钥上传到VPS

方法一:使用ssh-copy-id(最简便) ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP 输入服务器密码后,公钥会自动写入服务器的 ~/.ssh/authorized_keys 文件。 方法二:手动复制(当ssh-copy-id不可用时) 在本地复制公钥内容: cat ~/.ssh/id_ed25519.pub SSH登录服务器后执行: mkdir -p ~/.ssh chmod 700 ~/.ssh nano ~/.ssh/authorized_keys # 粘贴公钥内容,保存退出 chmod 600 ~/.ssh/authorized_keys 验证密钥登录: ssh -i ~/.ssh/id_ed25519 用户名@服务器IP 若能成功登录(可能需要输入密钥密码),说明配置正确。

禁用密码登录并加固SSH配置

确认密钥登录工作正常后,禁用密码登录可彻底阻止暴力破解攻击。 重要:在同一SSH会话中完成以下操作,不要关闭当前连接,直到验证新会话可以登录。 编辑SSH服务配置: sudo nano /etc/ssh/sshd_config 修改以下配置项(使用#注释掉原行,新增修改后的配置): PasswordAuthentication no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PermitRootLogin no ChallengeResponseAuthentication no 重启SSH服务: sudo systemctl restart sshd 打开一个新终端窗口,尝试用密钥登录测试: ssh -i ~/.ssh/id_ed25519 用户名@服务器IP 登录成功后,尝试用密码登录确认已被拒绝。到此SSH密钥认证配置完成,服务器安全性大幅提升。

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online