2017-10-19 18 views
0

Lorsque Vagrant a fini de configurer Ubuntu, j'ai un script qui installe toutes les dépendances et deux projets de différents dépôts. Mais mon clone git échouer avec ce message:git clone échoue à partir du script de configuration

Cloning into 'frontend'... 
Host key verification failed. 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

Mais quand je fais mon git clone en SSH, il fonctionne parfaitement ... Je desactivé le StrictHostKeyChecking dans mon fichier de configuration avant le clonage avec:

echo -e "Host *" >> /home/vagrant/.ssh/config 
echo -e "\tStrictHostKeyChecking no" >> /home/vagrant/.ssh/config 

Pourquoi le clone git échoue-t-il dans un script et pas dans SSH? Comment puis-je résoudre mon problème?

EDIT: comme demandé, mon dossier errante:

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant.configure("2") do |config| 
    config.vm.box = "bento/ubuntu-17.04" 

    config.vm.network "private_network", ip: "192.168.50.5" 
    config.vm.synced_folder "./../projects", "/home/vagrant/projects" 

    config.vm.provider "virtualbox" do |v| 
    v.name = "devOS" 
    end 

    config.vm.provision "shell", path: "./configure" 
end 
+0

Il y a de fortes chances que vous exécutez le script approvisionneur en tant que root, pouvez-vous montrer votre Vagrantfile? –

+0

Yup bien sûr! – Wizix

Répondre

0

donc votre script de provisionnement est exécuté en tant que root, mais vous avez mis à jour les fichiers de votre utilisateur errante, qui fonctionne très bien lorsque vous ssh.

Ce que vous voulez est d'exécuter le script en tant qu'utilisateur errante et vous avez besoin du privileged option

privileged (Boolean) - Indique si vous souhaitez exécuter le script shell en tant qu'utilisateur privilégié ou non (sudo). Par défaut, c'est « true »

Modifier votre Vagrantfile et changer

config.vm.provision "shell", path: "./configure", privileged: false 
+0

Cela fonctionne, merci! – Wizix