SSH 密钥转发

SSH Key Forwarding

我正在尝试在构建 docker 映像时克隆私有 github 存储库。我安装了 docker 18.09.2,根据 Build secrets and SSH forwarding in Docker 18.09 and Using SSH to access private data in builds,我应该能够通过像这样设置我的 Dockerfile 来使用转发的 ssh 密钥:

 # syntax=docker/dockerfile:experimental
 FROM node:10.15.3

 # Update and install any dependencies.
 RUN apt-get update
 RUN apt-get -y install openssh-client git

 # Clone the private repository
 RUN --mount=type=ssh git clone git@github.com:<USER>/<PRIVATE_REPO>.git

我已经使用 ssh-add 添加了我的 ssh 密钥并且它在 运行 ssh-add -L.

时成功列出

为了构建容器,我使用以下命令:

docker build --ssh default .

我在尝试构建映像时仍然收到以下错误消息:

Host key verification failed.

我使用的 docker 客户端是 运行 macOS Mojave。

正如上面评论中指出的那样,host keyssh key 不是一回事,这不起作用的原因与我转发的 ssh 密钥无关,相反我需要将主机添加到 ~/.ssh/known_hosts:

RUN mkdir -p -m 0600 /root/.ssh && ssh-keyscan github.com >> /root/.ssh/known_hosts