J'essaie de créer un environnement qui clone un référentiel dans le répertoire de partage une fois la VM mise à niveau. Le problème est que la boîte n'a pas d'autorisation SSH sur le référentiel distant.
J'ai un script bash simple:
#!/bin/bash
cd /vagrant
if [ ! -d "repo" ]; then
git clone git@remoterepo.com:/my/repo.git
end
Je reçois l'erreur:
La vérification de la clé de l'hôte a échoué.
fatal: l'extrémité distante a raccroché de manière inattendue
Ce qui est logique car il n'y a pas de clé dans /home/vagrant/.ssh
J'ai fait pas mal de recherches en vain, j'ai essayé de définir config.ssh.forward_agent = true
ce qui me permet de cloner manuellement le référentiel lorsque je suis ssh dans la machine, mais pas lorsqu'il tente de s'exécuter lui-même. J'ai également essayé de spécifier, config.ssh.private_ssh_key = "~/.ssh/id_rsa"
mais vagrant ne finit tout simplement pas le chargement (je suppose que l'application ne peut pas entrer dans la boîte).
Ma question est donc ... Dois-je reconstruire ma boîte de base pour inclure un jeu de clés et autoriser ces clés avec mon dépôt distant? Ou y a-t-il une solution plus facile qui me manque?
Remarque: j'ai examiné les bases de SSH sur les machines virtuelles vagabondes qui semblent similaires, mais je pense qu'il s'agit davantage de configurer un utilisateur différent sur la boîte et la solution publiée est beaucoup plus manuelle que je ne le souhaiterais.
vagrant up
et tout fonctionne.