Я пытаюсь создать среду, которая, когда она завершит создание виртуальной машины, клонирует репозиторий в общий каталог. Проблема заключается в том, что поле не имеет разрешения SSH на удаленном репозитории.
у меня простой bash-скрипт:
#!/bin/bash
cd /vagrant
if [ ! -d "repo" ]; then
git clone git@remoterepo.com:/my/repo.git
end
Я получаю ошибку:
не удалось проверить ключ узла.
фатальная ошибка: удаленный конец повесил трубку неожиданно
, который имеет смысл, так как нет ключей в /home/vagrant/.ssh
Я сделал справедливое немного гуглить безрезультатно, я пытался установить config.ssh.forward_agent = true
что позволяет мне вручную клонировать репозиторий, когда я ssh'ed в машину, но не тогда, когда он пытается запустить себя. Я также попытался указать config.ssh.private_ssh_key = "~/.ssh/id_rsa"
но тогда vagrant просто не закончит загрузку (я предполагаю, что приложение не может ssh в поле).
Итак, мой вопрос... нужно ли мне перестроить базовую коробку, чтобы включить набор ключей и авторизовать эти ключи с помощью удаленного репозитория? Или есть более простое решение мне не хватает?
примечание: Я посмотрел на основы СШ на залет ВМ которые кажутся похожими, но я думаю, что это больше о настройке другого пользователя на коробке, и размещенное решение намного более ручное, чем мне хотелось бы.