无法在 schroot 中访问 ssh-agent

无法在 schroot 中访问 ssh-agent

我正在使用 schroot 构建一些部署包,主机和 schroot 环境之间有很多来回。在 schroot 中,ssh-agent 似乎无法访问,因此每次需要 ssh 密钥时,系统都会要求我输入密码。

据我所知http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574723ssh-agent 应该可以正常工作。

我尝试设置诸如SSH_AUTH_SOCK和之类的内容SSH_AGENT_PID,但是尽管可以在 chroot ssh 中看到该文件,但仍然要求输入密钥密码。

我也尝试将 ssh 安装 contrib 脚本添加到我的 setup.d 中,但是它仍然要求输入密码:

sudo cp /usr/share/doc/schroot/contrib/setup.d/10mount-ssh /etc/schroot/setup.d/
sudo chmod +x /etc/schroot/setup.d/10mount-ssh

我也尝试将10mount-ssh脚本重命名,11mount-ssh以便我知道它会在10mount脚本运行后发生,但它仍在询问。

我很兴奋,所以有一个相当新的 schroot 版本。

答案1

手动更改SSH_AUTH_SOCK对我来说不起作用,但是标志-p对我有帮助。

脚步:

  1. 照你的做法复制10mount-ssh
  2. ssh-add在主机
  3. schroot -p -c <chroot> --automatic-session,所以chroot应该具有与主机相同的环境变量(由于-p标志)。
  4. hg clone ssh://<login>@<host>:<repo>- 命令(来自chroot)不要求密码。

答案2

我遇到了同样的问题,查看 mount-ssh 脚本表明它需要通过参数传递环境变量-p,或者通过preserve-environment=true在适当的配置文件中设置来传递环境变量schroot.conf

我还必须/run从文件中取消注释绑定挂载条目/etc/schroot/[profile name]/fstab

相关内容