Я пытаюсь создать среду, в которой после завершения работы виртуальной машины она клонирует репозиторий в каталог общего ресурса. Проблема в том, что у коробки нет разрешения 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 в поле).
Итак, мой вопрос ... Нужно ли перестраивать базовый блок для включения набора ключей и авторизации этих ключей в моем удаленном репо? Или есть более простое решение, которое я пропускаю?
примечание: я рассмотрел основы SSH на виртуальных машинах Vagrant, которые кажутся похожими, но я думаю, что это больше о настройке другого пользователя на коробке, а опубликованное решение гораздо более ручное, чем хотелось бы.