Could not open a connection to your authentication agent.
我正在关注安装方法$SSH_AUTH_SOCK作为一个卷 https://gist.github.com/d11wtq/8699521,但是通过 compose 来实现。
Setup
~/.ssh/config
Host *
ForwardAgent yes
Dockerfile:
FROM atlashealth/ruby:2.2.2
RUN apt-get update -qq && \
apt-get install -qy build-essential libxml2-dev libxslt1-dev \
g++ qt5-default libqt5webkit5-dev xvfb dbus \
libmysqlclient-dev \
mysql-client openssh-client git && \
# cleanup
apt-get clean && \
cd /var/lib/apt/lists && rm -fr *Release* *Sources* *Packages* && \
truncate -s 0 /var/log/*log
编写yaml:
web:
build: "."
environment:
- SSH_AUTH_SOCK=/ssh-agent
volumes:
- "$SSH_AUTH_SOCK:/ssh-agent"
NOTE:我在我的作品中运行了插值,所以$SSH_AUTH_SOCK
被替换为/private/tmp/com.apple.launchd.ZxGtZy6a9w/Listeners
例如。
我在我的主机 OSX 上正确设置了转发设置,它适用于另一个 ubuntu 主机。
Run
docker-compose run web bash
集装箱内
当我跑步时ssh-add -L
, 它指出Could not open a connection to your authentication agent.
当我跑步时ssh-agent
,它产生
SSH_AUTH_SOCK=/tmp/ssh-vqjuo7FIfVOL/agent.21; export SSH_AUTH_SOCK;
SSH_AGENT_PID=22; export SSH_AGENT_PID;
echo Agent pid 22;
当我跑步时echo $SSH_AUTH_SOCK
从 bash 中,它产生/ssh-agent
Question
看来 compose 正在制作SSH_AUTH_SOCK
有空bash
,但似乎ssh-agent
并没有得到同样的结果env
。我缺少什么?