无法ssh-添加私有密钥到docker build

时间:2018-02-19 18:39:36

标签: git docker ssh ssh-agent

我正在尝试在构建过程中向ssh-agent(docker image)添加本地私钥。

问题 我运行eval$(ssh-agent -s),一旦docker运行ssh-add /etc/ssh/id_rsa,我收到以下错误:

Could not open a connection to your authentication agent.

目标: 我需要在NPM安装过程中克隆私有git repo。这个本地密钥将允许我对私人仓库进行身份验证。

====输出代码段====

Step 8/16 : RUN eval $(ssh-agent -s)
 ---> Running in 195ffeb1f84f
Agent pid 8
 ---> 0fcbc89d362f
Removing intermediate container 195ffeb1f84f
Step 9/16 : RUN ssh-add /etc/ssh/id_rsa
 ---> Running in ae99039e1fba
Could not open a connection to your authentication agent.
The command '/bin/sh -c ssh-add /etc/ssh/id_rsa' returned a non-zero code: 2

3 个答案:

答案 0 :(得分:5)

您在步骤8中运行的代理程序在您执行步骤9时已经失效。您需要或一次执行所有步骤才能使其正常工作。

RUN eval $(ssh-agent -s) && ssh-add /etc/ssh/id_rsa && git checkout .....

答案 1 :(得分:0)

为什么不在容器中使用音量?

您可以使用/etc/ssh/id_rsa路径在容器卷中装载/root/.ssh/id_rsa

答案 2 :(得分:0)

Tarun在评论中回答了这个问题:

“您在步骤8中运行的代理程序在您执行步骤9时已经死亡。您需要或一次执行所有步骤才能使用此功能。运行eval $(ssh-agent -s)&& ssh-add / etc / ssh / id_rsa&& git checkout ..... - Tarun Lalwani 2小时前“