【问题标题】:singularity / ubuntu : how to use the host authentical agent奇点/ubuntu:如何使用主机正宗代理
【发布时间】: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

这可能吗?

【问题讨论】:

    标签: ubuntu ssh-keys singularity-container


    【解决方案1】:

    简短回答:是的

    • SINGULARITY_BIND=$SSH_AUTH_SOCK ./myimage.sif
    • singularity run -B $SSH_AUTH_SOCK myimage.sif

    长答案:是的,只要将正确的目录和环境变量传递给图像即可。

    你需要:

    1. git/ssh 安装在奇点镜像中(可能在也可能不在默认 docker 镜像中)
    2. 您的$HOME 目录已安装在其中。这是默认设置,但可能需要手动执行 (-H /home/my_user),具体取决于配置
    3. ssh-agent 环境变量SSH_AUTH_SOCK 已导出。默认情况下,您的主机环境被传递到容器中,但可以使用 -e | --cleanenv 禁用它
    4. $SSH_AUTH_SOCK 中设置的路径安装在。这就是我们使用SINGULARITY_BIND-B $SSH_AUTH_SOCK 的原因

    一种测试您的密钥是否被正确访问的简单方法:

    $ 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.
    

    【讨论】:

      猜你喜欢
      • 2014-05-23
      • 2015-03-12
      • 1970-01-01
      • 2020-09-13
      • 2012-02-27
      • 2018-07-04
      • 2014-10-24
      • 1970-01-01
      • 2019-05-17
      相关资源
      最近更新 更多