ssh-在docker集装箱中添加

我已经把~/.ssh目录挂载到我的开发docker容器中,并且试图将这个部署密钥添加到入口点的ssh代理中,如下所示:

 #!/bin/bash set -e #add the deployment key if [[ ! -z ${DEPLOYMENT_SSH_KEY} ]] ; then echo "Adding deployment ssh key ${DEPLOYMENT_SSH_KEY} to ssh agent" eval $(ssh-agent -s) && ssh-add /.ssh/${DEPLOYMENT_SSH_KEY} else echo "Deployment ssh key is not defined" fi echo "STARTING PHP FPM, CMD $@" docker-php-entrypoint "$@" 

密钥通常根据日志添加:

代理pid 8

将部署ssh密钥id_rsa添加到ssh代理

添加身份:/.ssh/id_rsa(rsa w / o comment)

然而,它实际上结束了没有添加到代理的密钥,我不能从容器内克隆我的回购。 在容器中执行的命令ssh-add -l

无法打开与身份validation代理的连接。

为什么? 我听说SSH代理转发作为替代,但我想知道为什么我试过的方法不起作用?

由于ssh-add错误消息显示“无法连接”,因此无法findSSH_AUTH_SOCK环境variables或无法访问包含在该variables中的套接字path。 由于ssh-agent默认使用/tmp作为套接字,因此猜测你的/tmp挂载点在某种程度上被破坏了。