Skip to content
@ssh-keygen-tool

ssh keygen 生成:完整图文教程,轻松搞定 VPS 免密登录

一句话总结:用 ssh-keygen 生成密钥对,把公钥扔到服务器,以后登录不用再输密码——安全又方便,是每个 VPS 用户的必备技能。


为什么你需要 SSH 密钥登录

你有没有过这种感觉:每次 SSH 登录 VPS 都要手动输密码,输错了还得重来,有时候还担心密码被暴力破解……

密码登录的问题说白了就三个:

  • 麻烦:每次连接都要输,管多台服务器更烦
  • 不安全:弱密码分分钟被暴力撞库
  • 不适合自动化:脚本、CI/CD 流程里不能把密码明文写进去

SSH 密钥认证完美解决了这三个问题。原理其实很简单:你在本地生成一把"私钥"(相当于钥匙),把对应的"公钥"(相当于锁头)装到服务器上,以后登录的时候系统自动完成"对锁"的过程,根本不需要你输密码。

值得一提的是,像 DMIT 这类高端 VPS 服务商,默认就强制使用 SSH 密钥登录,不支持密码登录——所以 ssh keygen 生成 这件事,买完 VPS 第一件事就得学会。


准备工作

在开始之前确认一下:

  • 本地系统:Windows 10/11、macOS、Linux 均可,现代系统都内置了 ssh-keygen 工具
  • 一台 VPS:用来接收公钥并测试连接(稍后我们会推荐几款性价比高的方案)
  • 终端/命令行:Windows 用 PowerShell 或 Windows Terminal,Mac/Linux 直接用 Terminal

第一步:检查本地是否已有 SSH 密钥

在生成新密钥之前,先看看本地有没有已经生成过的:

bash ls ~/.ssh/

如果看到 id_rsaid_ed25519 或者类似文件,说明之前生成过了,可以直接用,不需要重新生成(除非你想换算法或独立管理多个密钥对)。


第二步:用 ssh-keygen 生成密钥对

这是核心步骤。打开终端,输入:

bash ssh-keygen -t ed25519 -C "your_email@example.com"

参数说明

参数 含义
-t ed25519 指定算法类型,Ed25519 是目前推荐的最安全算法
-C "备注" 添加注释,通常写邮箱,方便识别

如果你的系统比较老,不支持 Ed25519,可以改用 RSA: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按下回车后,系统会问你几个问题:

Enter file in which to save the key (/home/yourname/.ssh/id_ed25519):

直接回车,使用默认路径即可。

Enter passphrase (empty for no passphrase):

这里可以设置一个密码短语(Passphrase)保护私钥文件——相当于给钥匙再加一把锁。建议设置,能防止私钥文件被别人拿走后直接使用。当然如果你要做自动化脚本,留空也行。

生成成功后会看到类似输出:

Your identification has been saved in /home/yourname/.ssh/id_ed25519 Your public key has been saved in /home/yourname/.ssh/id_ed25519.pub The key fingerprint is: SHA256:xxxxxxxxxxxxxxxxxxxxxxxx your_email@example.com

这时你的 ~/.ssh/ 目录下多了两个文件:

  • id_ed25519私钥,绝对不能给任何人,不能上传到服务器
  • id_ed25519.pub公钥,要上传到服务器的就是这个

第三步:把公钥上传到 VPS 服务器

方法一:使用 ssh-copy-id(推荐,Mac/Linux 用户)

bash ssh-copy-id -i ~/.ssh/id_ed25519.pub root@你的服务器IP

执行后输入一次密码,公钥就自动写入服务器的 ~/.ssh/authorized_keys 文件了。简单粗暴,一步到位。

方法二:手动上传(Windows 用户或服务器端操作)

先查看公钥内容:

bash cat ~/.ssh/id_ed25519.pub

复制输出的那一整行内容(以 ssh-ed25519 开头,很长的一串)。

然后登录到服务器,执行:

bash mkdir -p ~/.ssh chmod 700 ~/.ssh echo "粘贴你的公钥内容" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys

权限必须正确,这是 SSH 密钥登录不生效的最常见原因之一:

  • .ssh 目录:700(只有属主可读写执行)
  • authorized_keys 文件:600(只有属主可读写)

方法三:DMIT 控制面板直接导入

如果你用的是 DMIT VPS,由于它默认就是密钥登录,可以在购买时或者控制台直接粘贴公钥,省去了手动上传这一步。把上面 cat ~/.ssh/id_ed25519.pub 的内容复制进控制面板的公钥框里就行了。

👉 进入 DMIT 查看 VPS 套餐


第四步:验证密钥登录是否成功

bash ssh -i ~/.ssh/id_ed25519 root@你的服务器IP

如果设置了 Passphrase,会提示你输入;没有设置的话,直接登进去了。

看到命令行提示符变成服务器的 shell,说明配置成功。


第五步(可选):禁用密码登录,彻底封死暴力破解

密钥登录配置好之后,可以关闭密码登录,让服务器只接受密钥认证:

bash sudo vim /etc/ssh/sshd_config

找到并修改以下几行:

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

保存后重启 SSH 服务:

bash sudo systemctl restart sshd

注意:关闭密码登录之前,一定先确认密钥登录能正常使用,否则可能把自己锁在外面。


进阶技巧:管理多台服务器的 SSH 配置

管理多台 VPS 时,每次都输 IP 地址很烦。可以编辑 ~/.ssh/config 文件:

Host dmit-lax HostName 154.17.29.71 User root IdentityFile ~/.ssh/id_ed25519

Host dmit-hkg HostName 103.117.100.20 User root IdentityFile ~/.ssh/id_ed25519

配置好之后,登录只需要:

bash ssh dmit-lax

是不是舒服多了?


DMIT VPS 套餐全览

说到 VPS,这里专门介绍一下 DMIT——一家在 CN2 GIA 精品线路领域口碑很好的服务商,覆盖洛杉矶、香港、东京三大机房,全系采用 AMD EPYC 处理器 + NVMe SSD。最关键的是,它默认强制 SSH 密钥登录,安全意识比很多同行强得多。

配合前面学的 ssh-keygen 生成流程,开箱即用,体验非常顺滑。

洛杉矶 Premium 系列(三网 CN2 GIA)

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
TINY 1核 2GB 20GB 1000GB 1Gbps $9.99/月 立即购买
Pocket 2核 2GB 40GB 1500GB 4Gbps $14.90/月 立即购买
STARTER 2核 2GB 80GB 3000GB 10Gbps $29.90/月 立即购买
MINI 4核 4GB 80GB 5000GB 10Gbps $58.88/月 立即购买
MICRO 4核 4GB 160GB 7000GB 10Gbps $74.99/月 立即购买
MEDIUM 6核 8GB 160GB 15000GB 10Gbps $168.88/月 立即购买
LARGE 8核 16GB 320GB 25000GB 10Gbps $338.88/月 立即购买
GIANT 12核 24GB 640GB 50000GB 10Gbps $619.99/月 立即购买

洛杉矶 Eyeball 系列(电信/联通 AS9929 + 移动 CMIN2)

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
TINY 1核 2GB 20GB 1500GB 2Gbps $9.99/月 立即购买
Pocket 2核 2GB 40GB 3000GB 4Gbps $14.90/月 立即购买
STARTER 2核 2GB 80GB 5000GB 10Gbps $29.90/月 立即购买
MINI 4核 4GB 80GB 10000GB 10Gbps $58.88/月 立即购买
MICRO 4核 4GB 160GB 14000GB 10Gbps $74.99/月 立即购买
MEDIUM 6核 8GB 160GB 30000GB 10Gbps $168.88/月 立即购买
LARGE 8核 16GB 320GB 50000GB 10Gbps $338.88/月 立即购买
GIANT 12核 24GB 640GB 100000GB 10Gbps $619.99/月 立即购买

洛杉矶 Tier 1 系列(国际线路 · VOLUME / GENERAL)

VOLUME 系列(AMD EPYC 9005):

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
WEE 1核 1GB 20GB 1000GB $36.90/年 立即购买
V2C2G 2核 2GB 40GB 5000GB 10Gbps $14.90/月 立即购买
V2C4G 2核 4GB 80GB 10000GB 10Gbps $23.90/月 立即购买
V4C4G 4核 4GB 120GB 20000GB 10Gbps $36.90/月 立即购买
V4C8G 4核 8GB 160GB 40000GB 10Gbps $52.90/月 立即购买
V8C16G 8核 16GB 240GB 80000GB 10Gbps $119.90/月 立即购买
V12C24G 12核 24GB 320GB 160000GB 10Gbps $199.90/月 立即购买

GENERAL 系列(AMD EPYC 9004):

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
TINY 1核 1GB 20GB 2000GB $6.90/月 立即购买
STARTER 2核 2GB 40GB 4000GB $12.90/月 立即购买
MINI 2核 4GB 80GB 8000GB $21.90/月 立即购买
MICRO 4核 4GB 120GB 16000GB $32.90/月 立即购买
G2C4G 2核 4GB 80GB 4000GB 10Gbps $16.90/月 立即购买
G4C8G 4核 8GB 160GB 8000GB 10Gbps $36.90/月 立即购买
G8C16G 8核 16GB 320GB 12000GB 10Gbps $79.90/月 立即购买
G12C24G 12核 24GB 480GB 240000GB 10Gbps $119.90/月 立即购买
G16C32G 16核 32GB 640GB 320000GB 10Gbps $199.90/月 立即购买

香港 Premium 系列(三网 CN2 GIA · 延迟极低)

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
TINY 1核 1GB 20GB 500GB 1Gbps $39.90/月 立即购买
STARTER 1核 2GB 40GB 1000GB 1Gbps $79.90/月 立即购买
MINI 2核 2GB 60GB 1500GB 1Gbps $119.90/月 立即购买
MICRO 4核 4GB 80GB 2000GB 1Gbps $159.90/月 立即购买
MEDIUM 4核 8GB 160GB 2500GB 1Gbps $179.90/月 立即购买
LARGE 8核 16GB 320GB 3000GB 1Gbps $239.90/月 立即购买
GIANT 8核 24GB 640GB 6000GB 1Gbps $499.90/月 立即购买

香港 Eyeball 系列(三网 CMI)

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
TINYv2 1核 1GB 20GB 1000GB 1Gbps $29.90/月 立即购买
STARTERv2 1核 2GB 40GB 2000GB 2Gbps $59.90/月 立即购买
MINIv2 2核 2GB 60GB 3000GB 2Gbps $89.90/月 立即购买
MICROv2 4核 4GB 80GB 4000GB 4Gbps $129.90/月 立即购买
MEDIUMv2 4核 8GB 160GB 6000GB 4Gbps $199.90/月 立即购买
LARGEv2 8核 16GB 320GB 12000GB 4Gbps $389.90/月 立即购买
GIANTv2 8核 24GB 640GB 24000GB 4Gbps $789.90/月 立即购买

香港 Tier 1 系列(国际线路)

套餐 CPU 内存 硬盘 流量 价格 购买
WEE 1核 1GB 20GB 1000GB $36.90/年 立即购买
TINY 1核 1GB 20GB 2000GB $6.90/月 立即购买
STARTER 1核 2GB 40GB 4000GB $12.90/月 立即购买
MINI 2核 2GB 60GB 8000GB $21.90/月 立即购买
MICRO 4核 4GB 80GB 16000GB $32.90/月 立即购买
MEDIUM 4核 8GB 160GB 32000GB $49.90/月 立即购买
LARGE 8核 16GB 320GB 64000GB $99.90/月 立即购买
GIANT 8核 24GB 640GB 128000GB $199.90/月 立即购买

东京 Premium 系列(三网 CN2 GIA)

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
TINY 1核 1GB 20GB 500GB 1Gbps $21.90/月 立即购买
STARTER 1核 2GB 40GB 1000GB 1Gbps $39.90/月 立即购买
MINI 2核 2GB 60GB 2000GB 1Gbps $79.90/月 立即购买
MICRO 4核 4GB 80GB 4000GB 1Gbps $159.90/月 立即购买
MEDIUM 4核 8GB 160GB 5000GB 1Gbps $259.90/月 立即购买
LARGE 8核 16GB 320GB 8000GB 1Gbps $429.90/月 立即购买
GIANT 8核 24GB 640GB 15000GB 1Gbps $799.90/月 立即购买

东京 Eyeball 系列(三网 CMI)

套餐 CPU 内存 硬盘 流量 带宽 价格 购买
TINY 1核 1GB 20GB 1000GB 1Gbps $25.90/月 立即购买
STARTER 1核 2GB 40GB 2000GB 2Gbps $55.90/月 立即购买
MINI 2核 2GB 60GB 3000GB 2Gbps $85.90/月 立即购买
MICRO 4核 4GB 80GB 4000GB 4Gbps $119.90/月 立即购买
MEDIUM 4核 8GB 160GB 6000GB 4Gbps $179.90/月 立即购买
LARGE 8核 16GB 320GB 12000GB 4Gbps $369.90/月 立即购买
GIANT 8核 24GB 640GB 24000GB 4Gbps $749.90/月 立即购买

东京 Tier 1 系列(国际线路)

套餐 CPU 内存 硬盘 流量 价格 购买
WEE 1核 1GB 20GB 1000GB $36.90/年 立即购买
TINY 1核 1GB 20GB 2000GB $6.90/月 立即购买
STARTER 1核 2GB 40GB 4000GB $12.90/月 立即购买
MINI 2核 2GB 60GB 8000GB $21.90/月 立即购买
MICRO 4核 4GB 80GB 16000GB $32.90/月 立即购买
MEDIUM 4核 8GB 160GB 32000GB $49.90/月 立即购买
LARGE 8核 16GB 320GB 64000GB $99.90/月 立即购买
GIANT 8核 24GB 640GB 128000GB $199.90/月 立即购买

套餐选购建议

  • 追求最低延迟、对国内速度要求高 → 香港/东京 Premium(CN2 GIA)
  • 性价比优先、联通移动用户 → 洛杉矶 Eyeball(AS9929 + CMIN2)
  • 建站/落地/国际业务 → 各地区 Tier 1 系列
  • 预算有限先试水 → T1 WEE 系列,年付 $36.9 起步

常见报错与解决方法

问题 1:Permission denied (publickey)

检查以下几点:

  • 服务器上 authorized_keys 文件权限是否为 600
  • ~/.ssh 目录权限是否为 700
  • sshd_config 中是否开启了 PubkeyAuthentication yes

问题 2:私钥文件权限太宽松

bash chmod 600 ~/.ssh/id_ed25519

私钥文件权限必须是 600,权限太宽松 SSH 会直接拒绝使用。

问题 3:连接时还是要求输密码

-v 参数查看详细日志,判断是密钥没被接受还是其他问题:

bash ssh -v root@你的服务器IP

问题 4:在 DMIT 上配置完密钥后仍无法连接

DMIT 要求在购买时或控制面板里提前录入公钥,而不是通过 ssh-copy-id 上传。如果已有服务器在跑,可以通过 VNC 控制台进入修改 authorized_keys


总结

整个流程其实就四件事:

  1. 本地运行 ssh-keygen -t ed25519 生成密钥对
  2. id_ed25519.pub 里的内容上传到服务器
  3. 确认权限设置正确(.ssh 是 700,authorized_keys 是 600)
  4. ssh -i 测试,确认能免密登录

搞定这四步,你的 VPS 安全性就上了一个台阶。配合 DMIT 这类默认强制密钥登录的服务商,从买下来的第一天就是安全的姿势,省掉不少烦恼。

👉 查看 DMIT 全部套餐,年付最低 $36.9 起

Popular repositories Loading

  1. .github .github Public

Repositories

Showing 1 of 1 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…