我pipe理一个有两个主要组件的服务:
登台环境通过SSH连接到EC2环境,并使用位于客户端本地的私钥文件(* .pem)进行身份validation。 pem文件作为Vagrant实例本身的一部分进行分发。 注:我知道通过这种方式分发SSH密钥的安全风险,这是我inheritance的东西,而不是我现在可以改变的东西。
我需要在Vagrant实例的ssh-agent上添加一个私有的SSH密钥。 我是stream浪汉的新手,但我很熟悉如何做到这一点,例如:
exec ssh-agent bash sudo chmod 600 ~/ec2.pem ssh-add ~/ec2.pem
蹭,我不知道如何得到这个在Vagrant工作。 我已经尝试了几种不同的方式来运行上面的,作为一个特权和非特权用户,例如
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "hashicorp/precise32" config.vm.hostname = "staging" config.vm.provision "shell", path: "test-priv.sh" config.vm.provision "shell", path: "test-unpriv.sh", privileged: false end
但最后,我总是必须login到Vagrant实例,并手动运行ssh-add命令才能正常工作。
任何帮助我如何通过Vagrantfile来实现这一点?