🐧 Linux VPS 配置 SSH 密钥登录
在 Linux VPS 上启用 SSH 密钥登录,不仅提升安全性,还避免频繁输入密码。本文介绍如何在 VPS 上生成 SSH 密钥对,使用 Ed25519 算法,并配置服务器与本地连接
🔐 VPS 上生成 SSH 密钥对
在 VPS 上执行:
ssh-keygen -t ed25519 -C "your_email@example.com" |
参数说明:
-t ed25519
:指定使用 Ed25519 算法;-C
:添加注释(一般填写邮箱或用途标记);
按回车接受默认路径:~/.ssh/id_ed25519
成功后会生成两个文件在用户的目录:
- ✅ 私钥:
~/.ssh/id_ed25519
- ✅ 公钥:
~/.ssh/id_ed25519.pub
- 也可以本地生成密钥复制公钥到vps
⚠️ 注意:私钥应当下载至本地保存,仅用于身份验证,切勿泄露或留存在 VPS 上
🛡️ 配置 VPS 启用公钥登录
确保你的公钥已写入授权文件:
mkdir -p ~/.ssh |
若需为其他用户配置,只需要复制公钥到用户家目录的.ssh/authorized_keys
即可
📥 下载私钥到本地(关键步骤)
有两种方式下载私钥文件(~/.ssh/id_ed25519
):
方式一:手动复制
cat ~/.ssh/id_ed25519 |
将输出内容复制粘贴到本地新建的文件中,例如:micc.key
方式二:使用 SFTP 工具下载
sftp user@your.server |
下载完成后请妥善保管此私钥。
⚙️ 配置 SSH 服务端参数
编辑服务器配置文件:
sudo vim /etc/ssh/sshd_config |
主要的几项(取消注释并修改):
Port 22 # 默认端口,可自定义 |
🔎 提示:关于 PermitRootLogin
参数可选值参考:
值 | 含义 | 安全性 | 推荐场景 |
---|---|---|---|
yes |
允许 root 密码或密钥登录 | ⚠️ 低 | 临时搭建环境 |
no |
禁止 root 登录 | ✅ 高 | 正式环境推荐 |
prohibit-password |
仅允许 root 用密钥登录,禁用密码 | ✅ 较高 | 若需用 root 建议此设置 |
forced-commands-only |
限制 root 执行命令(自动化用途) | 特殊用途 | CI/CD、脚本任务等场景 |
重启 SSH 服务:
sudo systemctl restart sshd |
💻 本地配置 SSH 使用私钥连接
✅ 方式一:Linux / macOS 系统
临时连接:
ssh -i 私钥路径 -p 端口 用户名@vpsip |
永久配置:
编辑 ~/.ssh/config
:
Host myvps # 自定义别名,后续可以用 `ssh myvps` 来连接 |
然后直接连接:
ssh myvps |
✅ 方式二:Windows(图形界面:MobaXterm)
使用 MobaXterm 登录非常方便。配置方法如下:
步骤:
- 打开 MobaXterm → 点击左上角 Session → 选择 SSH
- 填写以下信息:
选项 | 示例 | 说明 |
---|---|---|
Remote host | 10.0.0.1 |
VPS IP 地址 |
Specify username | micc |
用户名 |
Port | 22 |
SSH 端口 |
切换到 Advanced SSH settings:
- 勾选
Use private key
; 选择你本地下载好的私钥路径; - 可勾选:
Compression
:加速数据传输;X11-Forwarding
:如需图形界面支持。
点击 OK 开始连接。
🔐 配置完成后安全建议
- 删除 VPS 上的私钥文件:
rm ~/.ssh/id_ed25519 |
- 保留
~/.ssh/authorized_keys
中的公钥,用于认证; - 本地私钥请加密存储或同步到可信云盘,切勿上传分享;
- 推荐关闭密码登录提升整体安全性。
☁️ 授权公钥快速部署(可选)
你可以将公钥托管于网络(如 GitHub 或私有服务器),在新服务器上快速拉取:
rm -rf ~/.ssh/authorized_keys |
🔎 常见 SSH 算法对比(简略)
算法 | 安全性 | 性能 | 文件大小 | 推荐程度 |
---|---|---|---|---|
Ed25519 | ✅ 高 | ✅ 高 | ✅ 小 | ✅ 推荐 |
RSA 2048 | 中等 | 中等 | 较大 | ☑ 一般 |
RSA 4096 | ✅ 高 | ❌ 慢 | 很大 | ☑ 可选 |
ECDSA | ✅ 高 | ✅ 高 | 小 | ⚠️ 依赖实现 |
DSA | ❌ 弱 | ❌ 慢 | 中等 | ❌ 弃用 |