ssh-agent недоступен внутри schroot

Я использую schroot для создания некоторых пакетов развертывания, и между средой хоста и средой schroot много времени. Внутри schroot ssh-agent, похоже, недоступен, поэтому каждый раз, когда требуется ssh-ключ, меня просят ввести пароль.

Насколько я могу судить из этого http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574723 ssh-agent должен работать.

Я пытался установить такие вещи, как SSH_AUTH_SOCK и SSH_AGENT_PID, но, хотя файл можно увидеть в chroot, ssh по-прежнему запрашивает ключевую фразу-пароль.

Я также пытался добавить скрипт сценария монтирования ssh в мой файл 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

Я также пытался переименовать [ 113] сценария к 11mount-ssh, так что я знаю, что это произойдет после запуска сценария 10mount, но он все еще спрашивает.

Я нахожусь на рэнгере, поэтому у меня есть довольно свежая версия schroot.

3
задан 14 June 2013 в 11:18

2 ответа

У меня была та же проблема: просмотр скрипта mount-ssh показывает, что ему нужны переменные окружения, передаваемые либо с аргументом -p, либо путем установки preserve-environment=true в соответствующем профиле в schroot.conf.

Мне также пришлось раскомментировать запись /run bind mount из файла /etc/schroot/[profile name]/fstab.

0
ответ дан 14 June 2013 в 11:18

Изменение вручную 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) не запрашивает пароль.
0
ответ дан 14 June 2013 в 11:18

Другие вопросы по тегам:

Похожие вопросы: