Skip to content
VDS · 机器访问

SSH 密钥:创建与添加

如何生成密钥对、在服务器控制面板中添加公钥、为什么保存会重启服务器,以及为什么密钥在 Windows Server 上不起作用。

更新于 2026年8月23日

SSH 密钥是一对文件:私钥留在您手中,公钥放在机器上。与密码不同,它无法被暴力破解。

创建密钥对

在 Windows 终端、PowerShell、macOS 和 Linux 中命令相同:

ssh-keygen -t ed25519 -C "artem@laptop"

当询问文件名时,按 Enter(默认值为 ~/.ssh/id_ed25519)。您应该为密钥设置密码短语:如果您的笔记本电脑被盗,没有密码短语的密钥会让人立即访问机器。

会出现两个文件:

文件说明
id_ed25519私钥。切勿分享,切勿上传到任何地方
id_ed25519.pub公钥。这是您粘贴到控制面板中的内容

查看公钥:

cat ~/.ssh/id_ed25519.pub

该行看起来像这样:ssh-ed25519 AAAAC3Nza... artem@laptop。

在控制面板中添加密钥

打开机器的控制面板 /hosting/vds/m/<id>,进入“访问”选项卡,“SSH 密钥”子部分,将密钥粘贴到字段中并点击“保存密钥”。

保存密钥会重启正在运行的机器。 密钥在启动时由初始配置应用,因此没有重启就不会生效。任何无法在重启后保留的内容都会被中断:打开的连接、未保存的数据、没有自启动的服务。在生产机器上,请选择合适的时间并一次性编辑列表,而不是逐个添加密钥。

密钥列表会被完全替换。请发送完整的集合:如果您已经有来自工作电脑的密钥,而只保存新的密钥,旧的将停止工作。空字段会删除所有密钥。

格式:每行一个密钥:

ssh-ed25519 AAAAC3Nza... artem@laptop
ssh-ed25519 AAAAC3Nza... artem@work

粘贴整行,包括开头的类型和末尾的注释,不要有换行。

您可以在下单时在 /hosting/vds/new 直接指定密钥——这样它会在机器配置时被添加,不会有额外的重启。

Windows Server 没有 SSH 密钥

密钥字段适用于 Linux 机器。我们配置 Windows Server 2022 和 2025 时不带 SSH 服务器:您使用控制面板中的密码以 Administrator 身份通过 RDP 登录。为这样的机器保存的密钥不会解锁任何东西——这就是为什么下单向导不显示该字段。

如何连接以及最初几分钟该做什么,请参阅文章首次通过 RDP 登录 Windows Server,访问保护请参阅文章RDP 安全:端口、密码、限制。

测试登录

在新的终端窗口中,不要关闭当前会话:

ssh root@203.0.113.10

如果没有要求您输入密码,则密钥有效。如果要求了,请参阅下面的错误表。

为了避免每次都输入地址,请设置 ~/.ssh/config 文件。

禁用密码登录

仅在测试成功后:

nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin prohibit-password
systemctl restart ssh

如果出现问题,您仍然可以通过控制面板中的文本控制台访问机器——它独立于 SSH 工作。

常见错误

症状原因
仍然要求输入密码私钥被粘贴到控制面板中而不是 .pub,或者密钥名称错误,客户端无法识别
UNPROTECTED PRIVATE KEY FILE权限过于宽泛:chmod 600 ~/.ssh/id_ed25519
密钥曾经有效然后停止工作控制面板中的列表被覆盖,没有包含此密钥
重装后密钥不再工作机器被重建,密钥没有进入其中。打开“SSH 密钥”并再次保存列表
禁用密码后出现 Permission denied (publickey)密钥从未到达机器——通过面板控制台登录并检查 /root/.ssh/authorized_keys

使用详细输出进行诊断:

ssh -v root@203.0.113.10

输出显示客户端提供了哪些密钥以及服务器回复了什么。

PuTTY 用户需要其自身格式的密钥——请参阅从 PuTTY 连接。