当我尝试从容器运行#ssh-add时-总是导致无法连接到ssh-agent。
注意:我尝试了在StackOverflow /互联网上可以找到的所有内容:
评估ssh-agent
或评估ssh-agent -s
或评估$(ssh-agent -s)
ssh-add或ssh-add -K或ssh-add -k
什么都没用。
我发现,如果我在容器内手动运行完全相同的代码-则可以正常工作。
此外,当我尝试在docker上运行时,构建如下内容:
RUN SSH_AGENT_PID=`eval "$(ssh-agent -s)" | cut -d " " -f3`; export SSH_AGENT_PID
RUN echo $SSH_AGENT_PID
我收到了空行。这意味着在容器内使用eval是完全没有用的。
平台:SUSE LEAP 15。
Docker版本18.09.1,内部版本4c52b901c6cb
FROM alpine:latest
RUN mkdir /app
RUN apk --update add openssh-client
COPY ./uppa /app/
COPY ./uppa.pub /app/
RUN echo "ForwardAgent yes" >> /etc/ssh/ssh_config
#RUN eval "$(ssh-agent -s)"
RUN eval `ssh-agent -s`
#RUN SSH_AGENT_PID=`eval "$(ssh-agent -s)" | cut -d " " -f3`; export `SSH_AGENT_PID`
RUN ssh-add -k /app/uppa
#RUN echo $SSH_AGENT_PID
注意:我已经手动运行了docker -it,检查文件夹中的私钥和公钥(uppa和uppa.pub)。他们是。而且:如果我从容器内部手动运行完全相同的东西-那就行了!
请帮助。