跳转到正文

管理 SSH 公钥

SSH 公钥页面中的公钥有两种用途:

  • RLark Server 使用登记的“用户名 + 公钥”认证堡垒机用户。
  • 创建 Job 时,可以把一把已登记的公钥复制到 Job,并注入所有角色 Pod 的 authorized_keys。只有容器内同时运行并正确配置了 SSH 服务时,这种方式才能用于直连 Pod。

使用前配置外部访问控制

SSH 公钥页面使用共享的用户公钥列表,不按控制台登录用户隔离密钥,页面可能显示其他用户的公钥。允许用户访问此页面前,请先在 RLark 入口之外完成组织批准的身份认证、授权和审计。只上传公钥,不要上传私钥、证书、密码或 token。

添加公钥

  1. 在本地生成或选择一把专用于 RLark 的密钥对,并按组织策略保管私钥。
  2. 打开SSH 公钥,选择添加公钥
  3. 输入经过批准的 SSH 用户名。输入框可能默认显示浏览器记录的登录名,请仍按管理员批准的用户名填写。
  4. 粘贴一行 OpenSSH 公钥,例如 ssh-ed25519 ...。RLark 会解析并规范化公钥内容。
  5. 选择确认添加
  6. 在组织的密钥台账中记录用户名、公钥指纹、所有者、用途、批准人和到期时间。

重复的公钥会被拒绝。页面中的“添加时间”不能代替每把密钥的创建和轮换记录,请以组织的密钥台账为准。

在 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 的公钥:

  1. 找出所有引用该公钥的 Job 和正在运行的 Pod。
  2. 按业务和设备安全流程停止远程访问及相关工作负载。
  3. 从共享列表中删除公钥,然后确认旧私钥无法再以原用户名通过 Server 公钥认证。如果还签发过 SSH 证书,请同时执行证书撤销流程。
  4. 创建不含旧公钥的新 Job 配置,并回收已有 Pod。确认旧私钥也无法通过 Pod 内的 SSH 服务认证。不要通过通用编辑器直接修改复杂的 Job CRD。
  5. 在组织审计系统中记录影响范围、验证结果和仍需处理的例外。

连接 Worker 的步骤参见通过 SSH 连接 Worker