代码之家  ›  专栏  ›  技术社区  ›  MrD

向docker添加专用ssh密钥

  •  0
  • MrD  · 技术社区  · 7 年前

    我正在尝试将ssh私钥添加到docker,我的Dockerfile如下:

    ARG key
    RUN echo $key > panaxea-key
    
    RUN chmod 600 panaxea-key
    RUN eval $(ssh-agent -s) && ssh-add panaxea-key
    

    控制台输出:

    Step 10/14 : RUN echo $key > panaxea-key
     ---> Using cache
     ---> 8ee023dba45e
    Step 11/14 : RUN chmod 600 panaxea-key
     ---> Using cache
     ---> b7c42a9c5268
    Step 12/14 : RUN eval $(ssh-agent -s) && ssh-add panaxea-key
     ---> Running in 9895e087cea5
    Agent pid 9
    Enter passphrase for panaxea-key: The command '/bin/sh -c eval $(ssh-agent -s) && ssh-add panaxea-key' returned a non-zero code: 1
    dario@dario-X750JB:~/Panaxea_Docker$ 
    

    有什么建议吗?我的钥匙没有密码

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ragesh    7 年前

    如果您的密钥没有密码短语,并且ssh add要求您提供密码短语,这意味着ssh add无法理解您的密钥文件。罪魁祸首是 echo $key > panaxea-key . 现在您将看到文件是一行文本,所有的换行符都消失了。

    使用 echo "$key" > panaxea-key 相反。

    这应该能让它正常工作,但是关于在docker图像中嵌入私钥的警告仍然存在。你是如何解决这个问题的取决于你到底想完成什么,但我觉得这完全是一个不同的问题。

    推荐文章