gpt4 book ai didi

bash - ssh-add 在一个 docker 容器中

转载 作者:行者123 更新时间:2023-12-02 04:32:46 25 4
gpt4 key购买 nike

我已经将 ~/.ssh 目录从主机安装到我的开发 docker 容器中,并尝试将部署 key 添加到入口点中的 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 "$@"

key 根据日志正常添加:

Agent pid 8

Adding deployment ssh key id_rsa to ssh agent

Identity added: /.ssh/id_rsa (rsa w/o comment)

但是,实际上它最终没有向代理添加任何 key ,而且我无法从容器内部克隆我的存储库。在容器中执行的命令 ssh-add -l

Could not open a connection to your authentication agent.

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

最佳答案

由于 ssh-add 错误消息显示“无法连接”,它要么找不到 SSH_AUTH_SOCK 环境变量,要么无法访问该变量中包含的套接字路径。由于 ssh-agent 默认使用 /tmp 作为套接字,猜测您的 /tmp 挂载点以某种方式损坏。

关于bash - ssh-add 在一个 docker 容器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com