SSH 密钥与证书认证
按四步完成配置:生成密钥/证书 → 配置设备 → 上传云端 → 连接验证。
准备:设备已激活、处于 Online 状态并运行 OpenSSH Server;由舰队 Master / Admin 通过 HTTPS 配置 JelinaCloud。
步骤一:生成 SSH 密钥 / OpenSSH 用户证书
Section titled “步骤一:生成 SSH 密钥 / OpenSSH 用户证书”普通密钥登录只需生成用户密钥;证书登录需先生成用户密钥,再签发用户证书。
在电脑上新建并打开空文件夹,例如 JelinaSSH,按系统打开终端并执行:
在文件夹地址栏输入 powershell,按回车,然后执行:
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"找不到命令时,在 Windows「可选功能」安装「OpenSSH 客户端」,再重新打开 PowerShell。
在文件夹空白处右键选择「在终端打开」,然后执行:
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"找不到命令时,先安装 OpenSSH 客户端:Ubuntu / Debian 为 openssh-client,Fedora / RHEL 为 openssh-clients。
出现 Enter passphrase 时设置私钥口令,Enter same passphrase again 时再输入一次;输入不显示字符。不设口令可两次直接回车。若提示 Overwrite (y/n)?,输入 n 保留已有文件。
完成后,当前文件夹中会生成:
| 文件 | 用途与去向 |
|---|---|
jelina_operator(无后缀) |
用户私钥,用于登录;上传云端私钥栏 |
jelina_operator.pub |
用户公钥;普通密钥登录时将内容添加到设备,证书登录时交给 CA 签发 |
设备要求 RSA 密钥时
改用以下命令,Windows / Linux 通用:
ssh-keygen -t rsa -b 3072 -a 64 -f jelina_operator_rsa -C "JelinaCloud-operator"生成 jelina_operator_rsa 和 jelina_operator_rsa.pub;后续步骤同步使用这些文件名。
将 jelina_operator.pub 交给已有 CA 的管理员签发。自行签发时,在管理电脑的当前文件夹准备好该公钥,按顺序执行下面的命令。
- 生成 CA 密钥,按提示设置并确认口令。已有 CA 时跳过,后续使用实际 CA 文件。
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- 签发用户证书,按提示输入 CA 私钥口令:
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pub- 生成 CA 密钥,按提示设置并确认口令。已有 CA 时跳过,后续使用实际 CA 文件。
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- 签发用户证书,按提示输入 CA 私钥口令:
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pub看到 Signed user key 表示完成。涉及的文件如下:
| 文件 | 用途与去向 |
|---|---|
ca_ed25519 |
CA 私钥,用于签发;仅签发方保管,不上传云端或设备 |
ca_ed25519.pub |
CA 公钥,让设备信任该 CA;按步骤二添加其内容 |
jelina_operator-cert.pub |
用户证书;与用户私钥一起上传云端 |
本例主体为 ops-alice,证书在签发后 8 小时到期。可将 -V "-1m:+8h" 改为 -V "-1m:+7d" 等有限期限;序列号 -z 1 由签发方分配记录。查看证书内容:
ssh-keygen -L -f jelina_operator-cert.pub步骤二:配置设备
Section titled “步骤二:配置设备”在 JelinaOS(Linux)设备上,编辑实际登录账号的 authorized_keys。本例使用 operator,请换成设备已有账号:
| 登录账号 | 授权文件位置 |
|---|---|
operator,家目录为 /home/operator |
/home/operator/.ssh/authorized_keys |
root |
/root/.ssh/authorized_keys |
文件不存在时先创建;.ssh 目录权限为 700,文件为 600,属主为目标账号。保留原内容,在末尾另起一行追加授权。无需把证书文件复制到设备。
用文本编辑器打开电脑上的 jelina_operator.pub,复制完整一行内容,粘贴到上述授权文件末尾:
ssh-ed25519 <用户公钥Base64> JelinaCloud-operator使用文件的实际内容,不要复制占位符。RSA 公钥以 ssh-rsa 开头,同样整行复制。
用文本编辑器打开 ca_ed25519.pub,复制完整一行内容。在授权文件末尾先输入以下前缀,再加一个空格,粘贴 CA 公钥:
cert-authority,principals="ops-alice",no-agent-forwarding最终应为同一行:
cert-authority,principals="ops-alice",no-agent-forwarding ssh-ed25519 <CA公钥Base64> JelinaCloud-customer-CA使用 CA 公钥的实际内容替换占位符;ops-alice 必须与签发时的 -n 一致。设备添加的是 CA 公钥和授权前缀,用户证书及用户私钥在下一步上传云端。
Windows 可右键公钥文件,选择「打开方式 → 记事本」。仅修改 authorized_keys 通常无需重启 SSH;自定义授权路径以设备配置为准。
步骤三:配置 JelinaCloud 并上传凭据
Section titled “步骤三:配置 JelinaCloud 并上传凭据”- 打开舰队「远程访问管理 → 密钥管理」,或设备「远程访问管理」,点击「添加 SSH 凭据」。
- 填写名称、设备系统账号(例如
operator或root),选择认证方式并上传文件:
| 认证方式 | 上传内容 |
|---|---|
| SSH 密钥 | 私钥栏:jelina_operator |
| OpenSSH 用户证书 | 私钥栏:jelina_operator;用户证书栏:jelina_operator-cert.pub |
- 私钥有口令时填写用户私钥口令,设置可使用成员及默认项,保存。
共享凭据放舰队,单台专用凭据放设备。CA 私钥不上传;保存成功后继续确认主机身份。
确认设备主机身份
Section titled “确认设备主机身份”主机公钥用于确认目标设备,与用户密钥和 CA 不同。在设备上读取已有公钥:
cat /etc/ssh/ssh_host_*_key.pub在设备「远程访问管理 → 设备主机身份」中逐行登记,核对对应的完整 SHA256: 指纹,一致后点击「核实并确认」。设备提供多种受支持算法时,分别登记、核实。
查看设备主机公钥指纹
在设备本机或可信管理通道中,按实际存在的文件逐条执行;不存在的文件跳过:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub -E sha256设备重装或主机密钥变化后,重新核实指纹。
步骤四:选择凭据登录并验证
Section titled “步骤四:选择凭据登录并验证”- 打开设备概要 →「远程桌面」,选择「SSH」,填写设备系统账号。
- 选择「SSH 密钥」或「OpenSSH 用户证书」,再选择已保存的凭据。
- 确认闲置断开和最长连接时间,点击「连接」。无需再次上传文件或填写私钥口令。
- 出现终端后执行以下命令,确认返回预期的设备账号:
whoami同一账号、认证方式下,设备凭据优先;没有设备配置才使用舰队项。设备凭据过期、停用、撤销或无权使用时,不会自动回退。
证书到期后重新签发,在密钥管理点击「更新密钥/证书」。平台不自动续签,也不会修改设备授权。
支持格式与常见问题
- 用户密钥和签发 CA 支持 Ed25519、RSA 2048~8192 位;用户私钥须为 OpenSSH-v1,每份私钥或用户证书最大 64 KiB。
- 用户证书须有明确有效期、非空主体;签名支持 Ed25519、RSA SHA-256 / SHA-512,不接受 SHA-1、critical options、ECDSA 用户密钥、X.509 或 SSH 主机证书。
- 主机公钥支持 Ed25519、ECDSA nistp256/384/521、RSA 2048~8192 位。RDP、VNC 仍使用密码认证。
| 问题 | 检查 |
|---|---|
| 没有可用凭据 | 系统账号、认证方式、使用权限及设备覆盖情况 |
| 私钥或口令错误 | 上传匹配的用户私钥,填写它的口令;不能用 CA 私钥代替 |
| 设备拒绝证书 | CA 授权前缀、证书主体、有效期、设备时间及 SSH 账号限制 |
| 主机身份未确认或变化 | 重新核实实际协商算法对应的设备主机公钥 |
| 连接自动断开 | 页面显示的闲置/最长时限、证书有效期和设备状态 |
更多管理说明见远程访问管理。