Dockerfile:跳过私钥的密码

sma*_*art 2 github ssh-keys docker dockerfile

我正在使用私钥从我的 Docker 文件中的 Github 下载我的存储库。我有这样的事情:

RUN mkdir -p /root/.ssh && echo "$MY_PRIVATE_KEY" >/root/.ssh/id_rsa &&    chmod 0600 /root/.ssh/id_rsa &&    ssh-keyscan github.com >> /root/.ssh/known_hosts &&    cat /root/.ssh/known_hosts &&    ssh -vvv git@github.com &&    pip install git+ssh://git@github.com/my_project.git@v1.0.0 &&    rm /root/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

哪里MY_PRIVATE_KEY有争论。我无法重新创建此密钥。我的问题是在连接过程中出现以下错误: key_load_private_type: incorrect passphrase supplied to decrypt private key

是否有可能以某种方式跳过密码?

lar*_*sks 5

需要密码来解密密钥。你不能“跳过”它。您可以使用删除密钥上的密码ssh-keygen -p(有关详细信息,请参阅手册页)。

您可能想要调查GitHub Deploy Key 的使用,这是一个每个存储库的 ssh 密钥,它授予对存储库的只读访问权限。这些旨在准确解决您遇到的情况:需要从需要身份验证的 GitHub 存储库自动部署软件。