我在Windows机器上复制了dockerfile中的ssh密钥,用于开发目的,但无法设置SSH_AUTH_SOCK变量,
这是我Dockerfile
FROM node:alpine
WORKDIR /usr/src/app
COPY package.json .
ADD id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa \
&& touch /root/.ssh/known_hosts \
&& ssh-keyscan -H github.com >> /root/.ssh/known_hosts \
&& eval `ssh-agent -s` && ssh-add /root/.ssh/id_rsa
RUN yarn
CMD [ "npm", "start" ]
我还尝试在编写文件中评估ssh-agent的结果
command: >
sh -c 'eval `ssh-agent -s`
&& ssh-add /root/.ssh/id_rsa
&& echo $SSH_AUTH_SOCK'
当我执行简单的nodejs文件时,SSH_AUTH_SOCK
没有设置。printenv
也不显示它,有什么办法吗?
我可以看到有很多针对linux和osx的ssh代理转发器解决方案,但它在windows上不起作用。
1条答案
按热度按时间von4xj4u1#
请注意,它在传递实际ssh密钥的完整路径时有效,例如:
或