SSH密钥转发



我在构建docker映像时试图克隆私人github存储库。我已经安装了Docker 18.09.2,根据Build secrets and SSH forwarding in Docker 18.09Using 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 .

尝试构建图像时仍会收到以下错误消息:

主机密钥验证失败。

我正在使用的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 

最新更新