我不能强制 vagrant 配置从 bitbucket 克隆私有 git 存储库。我有流浪者 1.6.3。
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.ssh.private_key_path = "~/.vagrant.d/insecure_private_key"
config.ssh.forward_agent = true
config.vm.define "abox" do |abox|
abox.vm.box = "ubuntu/trusty32"
abox.vm.hostname = "abox"
abox.ssh.forward_agent = true
abox.vm.network "private_network", ip: "192.168.50.4"
abox.vm.network "forwarded_port", guest: 22, host: 2233
abox.vm.network "forwarded_port", guest: 6340, host: 6340
abox.vm.network "forwarded_port", guest: 8080, host: 6388
abox.vm.provision :shell,
:path => "provisioning/ssh_keys.sh", :privileged => false
abox.vm.provision :shell,
:path => "provisioning/setup_project.sh"
end
end
我在 ssh_keys 中的位置:
function create_key() {
ssh-add -L >> ~/.ssh/authorized_keys
ssh-keyscan -t rsa 127.0.0.1 > ~/.ssh/known_hosts
}
create_key
然后在 setup_project 我打电话:
su - vagrant -c "ssh-keyscan bitbucket.org >> /home/vagrant/.ssh/known_hosts && \
ssh-keyscan github.com >> /home/vagrant/.ssh/known_hosts"
echo 'Clone bitbucket repo'
su - vagrant -c "cd /vagrant && git clone git@bitbucket.org:someuser/some-project-that-i-have-access-to.git"
输出是:
Permission denied (publickey).
==> abox: fatal: Could not read from remote repository.
==> abox:
==> abox: Please make sure you have the correct access rights
==> abox: and the repository exists.
Error: Error while executing git clone -q git@bitbucket.org:someuser/some-project-that-i-have-access-to.git localclone
但是,当我vagrant ssh
进入盒子,然后按顺序调用相同的 git clone 命令时 - 一切正常。我还测试了ansible config,但问题完全相同。
这里有什么问题?