2016-03-10 2 views
1

Мне нужны мои ключи SSH во время подготовки к авторизации git-клонов из нашего git-репо. Поэтому я добавил это VagrantFile:Vagrant config.ssh.forward_agent не применяется при настройке?

config.ssh.forward_agent = true 

В сценарии предоставления мы имеем что-то вроде:

# this will prevent the yes/no security prompt 
echo -e "Host gitlab.ourdomain.com\n\tStrictHostKeyChecking no\n" >> /home/vagrant/.ssh/config 

# clone the repo 
git clone --branch devel [email protected]:sso/mwauth.git website 

На vagrant up я вижу это в терминале:

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

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

..however, когда я затем vagrant ssh в экземпляр бродяг и вручную запускаю ту же самую команду клонирования, она клонирует удаленное репо и нет приглашения. Имеются ли ключи только с vagrant ssh, но не доступны во время подготовки?

ответ

1

Проблема заключается в том, что вы добавляете ключ ssh для пользователя-бродяги, но вы выполняете инициализацию как пользователь root, поэтому, когда вы клонируете пользователя root, у него нет ключа, а когда вы вставляете vagrant ssh, вы регистрируетесь с бродягой пользователь.

вы можете добавить privileged: false при запуске инициализации, что-то вроде config.vm.provision "оболочки", привилегированная ложь, путь: "script.sh"

или работает как другой пользователь

su -l vagrant "git clone --branch devel [email protected]:sso/mwauth.git website" 
Смежные вопросы