转发我的ssh密钥从我的Windows10到我的docker容器



阅读此线程后,我无法100%转发我的密钥,我被阻止在我应该运行"ssh-add"的步骤。

这是我的docker- composition .yml的一部分:

engine:
    build: ./docker/engine/
    volumes:
        - "./:/var/www/docker:rw"
        - "./docker/engine/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro"
        - $SSH_AUTH_SOCK:/tmp/agent.sock
    environment:
        - SSH_AUTH_SOCK=/tmp/agent.sock

在我的容器上,我可以毫无问题地看到文件"/tmp/agent"。和ENV变量"SSH_AUTH_SOCK",当我用printenv打印它们时。

之后,我启动ssh-agent:

`eval `ssh-agent -s`

然后添加ssh-key:

ssh-add

但是如果我打印最后一个错误(echo $?),我得到1

From doc: Exit status在成功时为0,指定命令失败时为1,2如果ssh-add无法联系到身份验证代理。

我尝试了这么多东西,我没有其他的想法,我已经访问了所有可能的链接在谷歌(该死的)

如果你有一个解决方案(或路径),你将是我的英雄!

谢谢。

同样,

在linux上共享~/时没有问题。SSH通过卷,在Windows上,虽然这是另一回事。我设法把钥匙放进了箱子里。容器中的SSH文件夹,但是docker认为它们太开放了(chmod> 600),所以不可能安装编译器或类似的东西。我不知道这是否与linux读取NTFS权限的方式或类似的东西有关。

不管怎样,它都不工作,我尝试了很多权限更改

编辑:我已经在Github上发布了这个,我们可能会从那里得到一些帮助:https://github.com/docker/docker/issues/27685

最新更新