gpt4 book ai didi

git - Vagrant shell 和 ansible 配置因 bitbucket 而失败

转载 作者:太空狗 更新时间:2023-10-29 14:38:29 25 4
gpt4 key购买 nike

我无法强制 vagrant provisioning 从 bitbucket 克隆私有(private) git 仓库。我有 vagrant 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 配置,但问题完全一样。

这里有什么问题吗?

最佳答案

shell 配置将在 guest 计算机的上下文中运行(请参阅 docs)。

因此,您只需要将 setup_project 更改为(您可能还想在克隆之前使用 ssh-keygen 删除 key ,这样您就不会在 中出现重复记录~/.ssh/known_hosts):

ssh-keygen -R bitbucket.org
ssh-keyscan bitbucket.org >> /home/vagrant/.ssh/known_hosts
ssh-keygen -R github.com
ssh-keyscan github.com >> /home/vagrant/.ssh/known_hosts

echo 'Clone bitbucket repo'

cd /vagrant
git clone git@bitbucket.org:someuser/some-project-that-i-have-access-to.git

关于git - Vagrant shell 和 ansible 配置因 bitbucket 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24295382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com