Невозможно клонировать частное репо из файла предоставления Vagrant
У меня есть бранное обеспечение script, содержащее команды оболочки. Когда я пытаюсь клонировать частное репо через git и частные\открытые ключи в этом script, я получаю сообщение об ошибке:
Cloning into 'brand.api'...
Stderr from the command:
stdin: is not a tty
dpkg-preconfigure: unable to re-open stdin: No such file or directory
Host key verification failed.
fatal: The remote end hung up unexpectedly
Но когда я исключаю команду git clone ...
из обеспечения script и назову ее сам в бродячем боксе, все в порядке.
Вот файл обеспечения:
#setting up Git
apt-get install -y git
mkdir ~/.ssh
mkdir ~/bin
cp /vagrant/bin/git-ssh.sh ~/bin
cp /vagrant/keys/mygit.key ~/.ssh/mygit.key
cp /vagrant/keys/mygit.pub ~/.ssh/mygit.pub
chmod 600 ~/.ssh/*
echo 'export GIT_SSH=~/bin/git-ssh.sh' >> ~/.bashrc
source ~/.bashrc
#installing brand-api
git clone [email protected]****.ru:brand.api.git
В чем проблема?
ОБНОВЛЕНО
После добавления git сервера репо к known_hosts я получаю следующее:
Stderr from the command:
stdin: is not a tty
dpkg-preconfigure: unable to re-open stdin: No such file or directory
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: The remote end hung up unexpectedly
Но если я запишусь в свой бокс через vagrant ssh
и попытаюсь клонировать все в порядке.
Ответы
Ответ 1
Ключ SSH сервера git неизвестен/доверен. Когда вы клонируете репо вручную на виртуальной машине, вы получаете запрос с просьбой проверить отпечаток пальца, верно?
Вы можете либо пропустить проверку ключа хоста в ~/.ssh/config
(или глобально в /etc/ssh/config
или аналогично):
Host git.example.com
StrictHostKeyChecking no
Или вы можете заранее добавить ключ к ~/.ssh/known_hosts
(или /etc/ssh/ssh_known_hosts
). Например:
ssh-keyscan -H git.example.com >> ~/.ssh/known_hosts
Ответ 2
Это работает для меня..
Попробуй поместить это в свое обеспечение .sh:
sudo -u vagrant git clone [email protected]****.ru:brand.api.git
Вместо:
git clone [email protected]****.ru:brand.api.git