奇点/ubuntu:如何使用主机正宗代理
Posted
技术标签:
【中文标题】奇点/ubuntu:如何使用主机正宗代理【英文标题】:singularity / ubuntu : how to use the host authentical agent 【发布时间】:2021-06-01 10:28:37 【问题描述】:从 ubuntu 18.04(或更高版本)创建的奇点映像有一个运行脚本,其中包括使用 ssh git clone 一些存储库。
理想情况下,我希望:在执行映像时,主机的(已经激活的)ssh 密钥用于(git ssh clone)身份验证。
所以事情可以像这样运行:
ssh-add ~/.ssh/my_key # and possibly typing password
./myimage.sif
这可能吗?
【问题讨论】:
【参考方案1】:简短回答:是的
SINGULARITY_BIND=$SSH_AUTH_SOCK ./myimage.sif
singularity run -B $SSH_AUTH_SOCK myimage.sif
长答案:是的,只要将正确的目录和环境变量传递给图像即可。
你需要:
git
/ssh
安装在奇点镜像中(可能在也可能不在默认 docker 镜像中)
您的$HOME
目录已安装在其中。这是默认设置,但可能需要手动执行 (-H /home/my_user
),具体取决于配置
ssh-agent 环境变量SSH_AUTH_SOCK
已导出。默认情况下,您的主机环境被传递到容器中,但可以使用 -e | --cleanenv
禁用它
另见:docs on environment variables
在$SSH_AUTH_SOCK
中设置的路径安装在。这就是我们使用SINGULARITY_BIND
或-B $SSH_AUTH_SOCK
的原因
另见:docs on bind paths and mounts
一种测试您的密钥是否被正确访问的简单方法:
$ singularity exec -B $SSH_AUTH_SOCK myimage.sif ssh -T git@github.com
Hi tsnowlan! You've successfully authenticated, but GitHub does not provide shell access.
【讨论】:
以上是关于奇点/ubuntu:如何使用主机正宗代理的主要内容,如果未能解决你的问题,请参考以下文章