主题
管理 SSH 公钥
SSH 公钥页面中的公钥有两种用途:
- RLark Server 使用登记的“用户名 + 公钥”认证堡垒机用户。
- 创建 Job 时,可以把一把已登记的公钥复制到 Job,并注入所有角色 Pod 的
authorized_keys。只有容器内同时运行并正确配置了 SSH 服务时,这种方式才能用于直连 Pod。
使用前配置外部访问控制
SSH 公钥页面使用共享的用户公钥列表,不按控制台登录用户隔离密钥,页面可能显示其他用户的公钥。允许用户访问此页面前,请先在 RLark 入口之外完成组织批准的身份认证、授权和审计。只上传公钥,不要上传私钥、证书、密码或 token。
添加公钥
- 在本地生成或选择一把专用于 RLark 的密钥对,并按组织策略保管私钥。
- 打开SSH 公钥,选择添加公钥。
- 输入经过批准的 SSH 用户名。输入框可能默认显示浏览器记录的登录名,请仍按管理员批准的用户名填写。
- 粘贴一行 OpenSSH 公钥,例如
ssh-ed25519 ...。RLark 会解析并规范化公钥内容。 - 选择确认添加。
- 在组织的密钥台账中记录用户名、公钥指纹、所有者、用途、批准人和到期时间。
重复的公钥会被拒绝。页面中的“添加时间”不能代替每把密钥的创建和轮换记录,请以组织的密钥台账为准。
在 Job 中选择公钥
在创建 Job 的公共配置步骤,可以选择一把已登记的公钥。提交后,公钥内容会写入 JobSpec 并传递给所有 Task;每个角色的启动脚本会把公钥追加到容器用户的 ~/.ssh/authorized_keys。
选择公钥前,请确认:
- 公钥所有者获准访问 Job 的所有角色和副本。
- 启动脚本使用的容器用户、HOME 和文件权限符合预期。
- 如需直连 Pod,镜像内已经安装、启动并正确配置 SSH 服务。
- Job YAML 只包含公钥,不含私钥或其他凭据。
- 远程访问不会绕过业务审批或真实机器人现场控制。
删除和轮换公钥
删除列表项不会撤销现有 Pod 中的公钥
公钥注入 Job 和运行中的 Pod 后,会保留在 JobSpec 和 Pod 的 authorized_keys 中。从SSH 公钥列表删除公钥,不会修改已有 Job 或 Pod;停止后重新启动原 Job 时,同一公钥还可能再次注入 Pod。
撤销公钥时,需要分别处理 Server 认证和已经复制到 Job 或 Pod 的公钥:
- 找出所有引用该公钥的 Job 和正在运行的 Pod。
- 按业务和设备安全流程停止远程访问及相关工作负载。
- 从共享列表中删除公钥,然后确认旧私钥无法再以原用户名通过 Server 公钥认证。如果还签发过 SSH 证书,请同时执行证书撤销流程。
- 创建不含旧公钥的新 Job 配置,并回收已有 Pod。确认旧私钥也无法通过 Pod 内的 SSH 服务认证。不要通过通用编辑器直接修改复杂的 Job CRD。
- 在组织审计系统中记录影响范围、验证结果和仍需处理的例外。
连接 Worker 的步骤参见通过 SSH 连接 Worker。