奇点/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:如何使用主机正宗代理的主要内容,如果未能解决你的问题,请参考以下文章

关于VM虚拟机上运行UBUNTU使用代理的问题!

Ubuntu apt 使用代理

腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理

Ubuntu 下的 Git 在 SSH 协议下使用代理

yum(在centos主机上)如何使用需要ssl证书的代理

如何配置系统通过 ssh 反向隧道/代理使用 git?