ssh 未在 $HOME 处寻找私钥

ssh 未在 $HOME 处寻找私钥

我有一个 Kubernetes pod,其持久卷安装在/data。我正尝试使用该 pod 进行远程开发,因此需要确保我的私有 ssh 密钥在 pod 重启后仍然存在,这样我就可以继续向 GitHub 进行身份验证而无需生成新密钥。

我尝试export HOME="/data"并指向ssh-keygen/data/.ssh但仍然无法向 GitHub 进行身份验证。大概是 ssh 没有查看/data/.ssh我的私钥。这里的解决方案是什么?如果有任何必要的配置,我确实可以控制用于 pod 的 Dockerfile。

答案1

为了在 Pod 重启期间保持私有 SSH 密钥有效,并确保 SSH 使用正确的密钥位置。您可以尝试以下步骤。

  1. 在 Dockerfile 中的 Docker 镜像中包含一个“/data”目录。然后,将您的私有 SSH 密钥复制到“/data/.ssh”,并为密钥提供必要的权限。

  2. 创建 pod 清单时,请确保包含一个 PersistentVolumeClaim(PVC) 来声明“/data”所需的持久卷。

  3. 将卷和卷挂载定义添加到 pod 规范中,以将 PVC 挂载到“/data”目录。

遵循文档使用 SSH 的 GitHub设置 SSH 密钥了解更多信息。

相关内容