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
Я также пытался переименовать 10mount-ssh
сценарий для 11mount-ssh
так что я знаю, что это произойдет после 10mount
скрипт работает, но он все еще спрашивает.
Я нахожусь на raring, так что есть довольно актуальная версия Schroot.
2 ответа
Изменение вручную SSH_AUTH_SOCK
у меня не работает, но флаг -p
помогло в моем случае.
шаги:
- копия
10mount-ssh
как ты. ssh-add
на хостеschroot -p -c <chroot> --automatic-session
, такchroot
должны иметь те же переменные среды, что и хост (из-за-p
флаг).hg clone ssh://<login>@<host>:<repo>
- команда (отchroot
) не спрашивает пароль.
У меня была та же проблема, глядя на скрипт mount-ssh, он показывает, что ему нужны переменные среды, переданные либо с -p
аргумент или установив preserve-environment=true
в соответствующем профиле в schroot.conf
,
Я также должен был раскомментировать /run
привязать запись из /etc/schroot/[profile name]/fstab
файл.